Discussione: Corso VBA
Visualizza messaggio singolo
Vecchio 02-11-2014, 19.31.43   #61
Alexsandra
Senior Member
WT Expert
 
L'avatar di Alexsandra
 
Registrato: 19-05-2007
Loc.: Verona
Messaggi: 1.208
Alexsandra è un gioiello raroAlexsandra è un gioiello raroAlexsandra è un gioiello raroAlexsandra è un gioiello raro
#1

Introduzione al VBA



Microsoft Excel è un foglio di calcolo che fornisce strumenti semplici e avanzati per creare e gestire qualsiasi tipo di elenco, inoltre per offrire uno strumento professionale Microsoft ha introdotto nel pacchetto Office, e su Excel in particolare, la possibilità di sfruttare la potenza di un vero e proprio linguaggio di programmazione ad interazione con il foglio di calcolo. Da ciò nasce il Visual Basic for Application, noto semplicemente come VBA che è una evoluzione del linguaggio Basic, in dotazione ai personal computer nei primi anni 80, e consente di scrivere codice in grado di eseguire automaticamente azioni su un documento e/o sul suo contenuto.

Lo scopo della programmazione in VBA è di usare i dati presenti nel foglio di calcolo come input per facilitare le operazioni necessarie per ottenere un risultato, sia esso di calcolo che di ricerca, diventando così potenti strumenti di lavoro. In pratica, attraverso un semplice Click su un pulsante, il computer elabora una serie di dati, agevolando il nostro lavoro, utilizzando un sotto programma sviluppato tramite VBA che, acquisendo i dati presenti nel foglio di calcolo, restituirà sempre sullo stesso foglio il risultato derivante dai calcoli che avrete scelto di far eseguire.

Sulla disponibilità e l’uso di VBA si devono fare alcune puntualizzazioni:
  1. VBA, come tutti i linguaggi di programmazione, ha una propria sintassi e non tollera errori, uno spazio omesso o fuori luogo, un punto invece di una virgola e verrà rimandato un errore.
  2. Il codice che viene prodotto è immagazzinato nel file dell’applicazione che è stata utilizzata per lo sviluppo e non in un file separato, questo spiega anche il fatto che non è possibile effettuare un programma eseguibile indipendente con VBA, in quanto il codice sviluppato sarà eseguito attraverso il programma host utilizzato (Excel, Word etc.) per la sua scrittura.
  3. Da un codice in Excel è possibile gestire documenti Word o presentazioni PowerPoint
Si deve tener presente che VBA è organizzato in un modello gerarchico di elementi (tipo le matriosche) ed è un contenitore per oggetti che possiamo manipolare tramite le loro proprietà (es. il colore), i metodi (es. aggiunta di un elemento) ed eventi (es. risposta a un clic del mouse). Pertanto possiamo considerare Il Visual Basic for Application lo strumento ideale per la creazione di veri e propri applicativi di Office Automation.



Fondamenti di Microsoft Excel
Abbiamo visto che l'ambiente di programmazione Visual Basic, dipende da Excel, di conseguenza, per utilizzarlo è necessario prima aprire Excel cliccando su Start - (Tutti i) Programmi - Microsoft Office - Microsoft Office Excel, oppure se si dispone di un documento di Excel in Esplora risorse di Windows, nella cartella Documenti, sul desktop, etc. è possibile, facendo doppio clic su di esso, avviare Excel e aprire il documento stesso. A tal proposito si deve considerare che i file che contengono codice VBA, dalla versione successiva a Office 2007, vengono distinti dagli altri con un’estensione e un’icona diverse

Fig. 1

A sinistra è rappresentata l’icona di un file che NON contiene codice VBA e ha estensione .xlsx, mentre a destra è raffigurata l’icona di un file che contiene codice VBA con estensione .xlsm. Inoltre anche il formato di salvataggio è diverso, infatti quando viene salvato un file che contiene codice VBA occorre indicare a Excel che deve salvarlo usando il formato Cartella di lavoro con attivazione di macro di Excel

Fig. 2

Qualora si tenti di salvare il file nel formato tradizionale, Excel avviserebbe che non è possibile salvare le caratteristiche del vostro file nel formato scelto

Fig. 3

Nella finestra di avviso sopra riportata si deve scegliere No, in questo modo Excel mostrerà la finestra Salva con nome, nella quale è possibile scegliere il formato corretto per conservare il progetto VBA. Se, invece, viene scelta l'opzione e si procede con il salvataggio comunque in formato .xlsx, il progetto VBA inserito nel file non sarà in alcun modo eseguibile né utilizzabile.

Nota: Nelle versioni di Office XP e Office 2003 non vengono distinti i file con codice VBA da quelli che ne sono privi e tutti i file Excel hanno la stessa estensione (.xls) e la stessa icona. La differenziazione del formato dei file che contengono codice VBA si è resa necessaria anche per il fatto che il codice VBA può essere pericoloso. L’esecuzione di codice che, di fatto, compie delle operazioni all’insaputa dell’utente, può comportare dei rischi e, non di rado, si sono trovati documenti Office che, all’interno del VBA, nascondevano dei virus.

Per questo, oltre a differenziare il formato, Excel permette di stabilire come gestire i singoli file che contengono codice. Volendo, è possibile fare in modo che Excel blocchi l’esecuzione di tutto il codice, ma, avendo bisogno del VBA, si tratta di una impostazione troppo drastica. D’altro canto, lasciare che Excel esegua qualsiasi codice, anche quello non scritto da voi, può essere pericoloso. La soluzione giusta consiste nel fare in modo che, all’apertura di tutti i file che contengono codice, Excel chieda se eseguirlo o meno.

Per determinare queste impostazioni occorre che, sulla barra multifunzione, sia visibile la scheda Sviluppo, se non lo fosse, si deve seguire il percorso File - Opzioni e una volta visualizzata la finestra delle opzioni andare alla scheda Personalizzazione barra multifunzione e nel riquadro di destra, selezionare la scheda Sviluppo e poi premete Ok per tornare al foglio di lavoro.

Fig. 4

Fig. 5

Nota: Chi utilizza Excel 2007, per visualizzare la scheda Sviluppo, deve aprire il menu del pulsante Microsoft Office e premere il pulsante Opzioni di Excel, comparirà la finestra Opzioni di Excel e nella sezione Impostazioni generali occorre mettere un segno di spunta alla voce Mostra scheda Sviluppo sulla barra multifunzione.
___________________________________

- Il primo fondamento della sicurezza non e' la tecnologia, ma l'attitudine mentale -
Alexsandra non è collegato