di Ernesto Sagramoso
Un viaggio alla scoperta di Vba, il potente linguaggio di programmazione del foglio elettronico Microsoft.
Excel è uno dei software più diffusi, dato che è presente in tutte le versioni di Microsoft Office. La maggioranza degli utenti utilizza però solo una frazione infinitesimale delle sue potenzialità , limitandosi a trattarlo come un enorme foglio di carta a quadretti capace di eseguire in modo automatico alcune operazioni, a partire dalla somma di più celle. Anche così la sua utilità è notevolissima: pur senza sfruttarne le caratteristiche avanzate, è possibile realizzare fogli di lavoro in grado di svolgere i compiti più disparati, dai semplici calcoli matematici alle analisi di un budget personale o aziendale. Ma è un vero peccato non andare oltre: Excel è una vera e propria piattaforma di sviluppo, dotata di un potente linguaggio di programmazione – Visual Basic for Applications, in breve Vba – con cui si possono creare applicazioni anche notevolmente sofisticate. In queste pagine cercheremo di fornirvi gli strumenti di base per realizzare programmi in Excel.
Prima di cominciare, un paio di precisazioni. Questo non vuole essere un tutorial generico sulla programmazione: non bisogna certo essere programmatori esperti per poterlo seguire, ma se il termine “variabile” vi è ignoto e l’espressione “ciclo for … next” vi sembra arabo allora è opportuno che leggiate prima un libro dedicato ai concetti di base della programmazione. Se conoscete l’inglese tecnico vi consigliamo di seguire le lezioni iniziali di codeacademy.com, un nuovo sito Web gratuito che permette di imparare a programmare in modo interattivo e divertente. Daremo però per scontato che conosciate ragionevolmente bene le caratteristiche di base di Excel. Per realizzare questo articolo abbiamo utilizzato la versione più recente del programma, ovvero la 2010. Nel testo segnaleremo le pochissime differenze (almeno per quanto riguarda la nostra trattazione) esistenti con Excel 2007. Se usate una versione ancora più vecchia non disperate: gli argomenti che affronteremo sono quelli di base, e sono in grandissima parte applicabili a qualunque edizione di Excel. Tra l’altro abbiamo impostato il programma in modalità di compatibilità , in modo da usare il vecchio formato di file: .xls invece di .xlsx.
Inizieremo presentandovi le caratteristiche di base del linguaggio Visual Basic for Applications, esaminando in modo specifico quelle che riguardano Excel. Vedremo di seguito quali sono le possibilità per gestire l’interazione con l’utente, un aspetto essenziale di qualunque programma. Analizzeremo poi l’editor Vba, il potente ambiente di sviluppo che Excel mette a disposizione. Nelle pagine che seguono imparerete anche come espandere le già ampie potenzialità di Excel creando funzioni personalizzate ma utilizzabili come se fossero parte del corredo nativo, e macroistruzioni (in breve macro) richiamabili con la pressione di un tasto.
Visual Basic for Applications
Chi conosce Visual Basic 6, uno dei più fortunati tool di sviluppo prodotti da Microsoft, si ritroverà immediatamente a suo agio con Visual Basic for Applications. Le istruzioni disponibili in Vba sono infatti un sottoinsieme di quelle di Visual Basic, espanso con l’aggiunta di comandi specifici per ciascun programma della suite.
Prima di vedere quelli più comuni bisogna però spendere qualche parola sul modello di programmazione di Excel, che è un modello ad oggetti organizzati in una gerarchia di cui il capostipite, Workbooks, rappresenta il file in elaborazione. Ogni Workbooks contiene uno o più Sheets (i singoli fogli), che sono a loro volta composti di Cells (celle). Ogni oggetto presenta poi delle proprietà , ovvero degli attributi caratteristici che possono essere impostati o letti da un programma: ad esempio, il nome del file nel caso di un documento Excel, oppure la formattazione (grassetto, corsivo, colore del testo e così via) nel caso di una cella. Gli oggetti supportano poi una varietà di azioni – chiamate metodi – che possono essere eseguite su di essi. Un documento Excel, ad esempio, può essere salvato, chiuso, eliminato o salvato con un altro nome.
(…)
Estratto dell’articolo pubblicato sul numero 255 giugno 2012