Un VBA di Office 2008 per l'helper AppleScript

A dicembre, ho scritto della decisione di Microsoft di eliminare il supporto per Visual Basic for Applications (VBA) dalla prossima versione di Office. Avevo e ho ancora molte preoccupazioni riguardo al passaggio. La preoccupazione maggiore è che questo cambiamento significhi la fine della vera integrazione multipiattaforma tra le versioni Windows e OS X di Office. Gli utenti Windows hanno ancora Visual Basic, ma se ricevi un documento Word o Excel abilitato per le macro da uno di loro, le macro non funzioneranno nella versione Mac di Office. Continuo a pensare che questa decisione sia stata fondamentalmente errata e che non sia di buon auspicio per il futuro della versione Mac di Office. Solo il tempo lo dirà, ovviamente, poiché il prodotto non è ancora uscito.

Un'altra preoccupazione che ho espresso è stata la difficoltà di scrivere AppleScripts per Office 2008 rispetto alla facilità di creare semplici macro in Word ed Excel utilizzando la voce di menu Registra macro di oggi. A dicembre scrivevo:

Non so voi, ma selezionare Strumenti -> Macro -> Registra nuova macro mi sembra sicuramente molto più semplice di imparare un nuovo linguaggio di programmazione: non voglio essere un programmatore, voglio solo scrivere e usare alcune semplici macro nel mio progetti!

Sebbene nulla sia cambiato rispetto al problema del supporto multipiattaforma, le cose stanno migliorando un po' sul fronte AppleScripting. Neil Ticktin, editore di MacTECH, è stato così gentile da inviarmi una bozza di una guida di oltre 150 pagine da VBA ad AppleScript che MacTECH pubblicherà nel numero di aprile 2007. Questa guida è suddivisa in sei sezioni principali: AppleScript in generale, AppleScript in Office in generale e sezioni specifiche per ciascuna delle quattro applicazioni di Office. Di particolare nota è il capitolo su Entourage, che riguarda davvero l'utilizzo di AppleScript in Entourage, poiché non ha mai avuto il supporto VBA.

Quindi, anche se devo ancora imparare un nuovo linguaggio di programmazione, MacTECH fornisce una risorsa per rendere questa transizione il più semplice possibile. Puoi leggere di più sulla guida in questo resoconto sul sito Web di MacTECH. (Se vuoi risparmiare, presta attenzione alla parte relativa alla sponsorizzazione di questa guida speciale da parte della Macintosh Business Unit di Microsoft; puoi ritirarlo per una somma irrisoria se ti qualifichi e ti abboni prima del 31 marzo.)

Non ho ancora avuto il tempo di leggere l'intera guida, ma sembra essere un'ottima risorsa per chiunque stia contemplando il passaggio da VBA ad AppleScript. Ci sono letteralmente centinaia di esempi di codice VBA, seguiti dalle loro traduzioni AppleScript. Ad esempio, per creare un nuovo foglio di lavoro Excel nella parte anteriore della cartella di lavoro corrente utilizzando VBA, il codice sarebbe simile al seguente:

Cartella di lavoro attiva. Fogli di lavoro. Aggiungi Prima:=1, Conteggio:=1

La guida MacTECH VBA to AppleScript presenta l'alternativa AppleScript:

creare un nuovo foglio di lavoro all'inizio della cartella di lavoro attiva

La guida continua in questo stile, spiegando ogni traduzione, oltre a sottolineare possibili "trucchi" nel passaggio da VBA ad AppleScript, come questo:

…in AppleScript non esiste un valore predefinito 0 per una variabile di incremento, come in VBA: la variabile non è definita. Se scrivi imposta i su i + 1 senza prima impostazione io A 0, lo script darà un errore.

Gli esempi diventano più complessi, ovviamente, dimostrando cose come la creazione di nuovi grafici in Excel, esportazione dei contatti di Entourage in Excel, impostazione e stampa della pagina, eliminazione di tutte le righe vuote in una tabella di Word e molti altri. Se sei un utente esperto di VBA sulla versione Mac di Office, la guida di MacTECH sembra essere un ottimo modo per aggiornarti rapidamente con il passaggio alle soluzioni basate su AppleScript in Office 2008.

Per me, tuttavia, c'è ancora una domanda più grande: ci sarà qualche vantaggio nel lavoro richiesto per convertire la mia libreria di macro VBA in AppleScript? Poiché Office 2008 non verrà distribuito fino alla fine di quest'anno, non posso ancora rispondere a questa domanda. Tuttavia, anche se non vado avanti con un progetto di conversione, farò comunque buon uso di questa guida quando voglio creare una soluzione macro nella nuova versione di Office.

  • Jul 31, 2023
  • 52
  • 0