Scriptare Excel con Applescript: Problemi con la lettura di un intervallo

Ho uno script che utilizzo per esportre le voci di spesa da Excel a QIF. Per creare i file di output, ho una tabella in Excel che elenca i tipi di spese (account):

 Tipo di tipo Acct tipo di pagamento
 ----------- ----------------- ---------
 Un American Express CCard
 B Bob Cash
 C Capital One CCard
 Banca di reddito di E
 N PNC Bank
 P PayPal CCard
 S Sears CCard
 U USAir MC CCard

Il contenuto della tabella è etichettato: PaymentSourceTable

E ho questo script per leggere il contenuto della tabella e successivamente creare un file di output per ciascuno:

tell application "Microsoft Excel" # # Get the list of payment sources from the spreadsheet and # create a QIF file for each # # Also create the list of filenames corresponding to the sources. # That list will be used when appending expense records to the files. # set PaymentSources to {} tell worksheet ListsWorksheet set PaymentSources to value of range PaymentSourceTable end tell 

Tutto funziona molto bene nel resto del mio script, ma talvolta i Fattori di pagamento contengono i valori effettivi della tabella due volte – come se avessi aggiunto i valori della tabella due volte. Le voci appaiono nuovamente AU poi AU.

Accade solo quando eseguo lo script dal menu di script in Excel e solo a volte. Non succede mai se eseguo lo script dall'editor di Applescript – o alless non è ancora accaduto nei miei numerosi test. Quello in sé sembra davvero strano e continuo a provarlo ancora e ancora, pensando di immaginarlo. 🙂

Sono sconcertato.
Qualcun altro ha visto questo o potrebbe suggerire un modo per eseguire il debug?

btw, sto usando Excel per Mac 2011.

Aggiornamento Come risulta, PaymentSources non era il problema. il seguente codice è stato il vero colpevole:

 repeat with source in PaymentSources set _ptype to item 1 of source if _ptype is not equal to "" then set _type to "!Type:" & item 3 of source set _furl to my constructFileName(source) my createFile(_type, _furl) set end of FileNames to {item 1 of source, _furl, 0} end if end repeat 

questo e il fatto che ho definito FileNames come properties; :

 property FileNames : {} 

.

Ho completamente perso il fatto che le properties; persistono tra le piste. Lezione appresa.