Fondamenti VBA - Liceo Sereni di Luino

Transcript

Fondamenti VBA - Liceo Sereni di Luino
Fondamenti VBA
Che cos’è VBA
 VBA, Visual Basic for Application è un linguaggio di programmazione,
inserito nelle applicazioni Office di Microsoft (Ms Word, Ms Excel, Ms
PowerPoint, Visio).
 VBA è una implementazione di VB, cioè è una specializzazione del
linguaggio di programmazione VB, finalizzata a migliorare
l’interoperabilità dell’operatore con le applicazioni Ms.
 VBA viene utilizzato per controllare praticamente tutti gli aspetti
dell'applicazione ospite, in particolare l'interfaccia utente
(manipolazione dei menu, delle toolbar, ecc.).
 VBA è un linguaggio di programmazione ad alto livello: è un linguaggio
di programmazione diverso dal linguaggio macchina, direttamente
eseguibile da un computer, ma più vicino o familiare alla logica del
nostro linguaggio naturale.
 I programmi ad alto livello possono essere ricondotti a programmi in
linguaggio macchina in modo automatico, utilizzando un altro
programma, il compilatore.
 Funzione primaria del compilatore è quella di creare tabelle di
associazioni tra nomi e gruppi di istruzioni base a partire dal linguaggio
macchina stesso.
Che cos’è la programmazione:
 La programmazione e' l'attività di sviluppare programmi, sviluppare
cioè una sequenza di operazioni che si chiede al computer di eseguire.
 Un programma è fatto di istruzioni che vengono eseguite una dopo
l'altra.
o il processore, il cuore di un calcolatore è infatti una “macchina a
stati”
 I programmi possono essere interattivi e richiedere l'intervento di un
operatore o possono svolgere il loro compito in modo completamente
autonomo e senza interferenze.
 Lo scopo della scrittura di un programma e' la risoluzione di un
problema.
Per risolvere un problema bisogna:
 formulare il problema (specifica dei requisiti) in modo formale:
o coinvolge sia i tecnici del software sia gli utilizzatori che hanno
commissionato lo sviluppo del software.
o si utilizza un processo a cascata, che sulla base di un processo di
affinamento che prevede il rilascio di prototipi intermedi che
devono essere validati dagli utilizzatori.
 capire il problema e scomporlo in parti gestibili (analisi del problema):
o coinvolge i tecnici del software, che sulla base dei requisiti e della
tecnologie disponibili, sono in grado di scomporre il problema in
fasi elementari gestibili dal calcolatore.
 progettare una soluzione computabile (algoritmo):
o un algoritmo è un procedimento che risolve un determinato
problema attraverso un numero finito di passi.
 Implementare la soluzione (scrittura del codice)
o è la fase operativa in cui i tecnici del software, utilizzando il
compilatore, scrivono il programma che deve essere eseguito dal
calcolatore.
 testare la soluzione e correggere eventuali errori (verifica del
programma, testing e debugging)
o è la fase più onerosa: lo sviluppo procede per prototipi,
o errori generati dal compilatore.
 tenere sempre aggiornato il programma (manutenzione)
Da che cosa è costituito un linguaggio di programmazione
A differenza dei linguaggi naturali, le regole dei linguaggi di programmazione
(che sono linguaggi formali) sono molto rigide, per garantire l'assenza di
ambiguità e la rapidità della compilazione.
Un linguaggio di programmazione e' costituito da un insieme di parole e di
simboli e un insieme di regole per combinarli.
Visual Basic è costituito quindi da un insieme di parole chiave (Keywords),
funzioni, istruzioni che, seguendo determinate regole sintattiche
permettono al programmatore di impartire "ordini" al computer al fine di
produrre un certo risultato.
Se il programma rispetta tutte le regole, può essere tradotto (compilato) in
linguaggio macchina, e quindi eseguito sul calcolatore.
Se il programma una volta tradotto, è in grado di funzionare per la
risoluzione dello specifico problema, supera la fase di run-time.
Quindi qualunque programma deve superare due fasi di verifica:
1. fase di COMPILAZIONE: traduzione del programma in linguaggio
macchina
2. fase di RUN-TIME: verifica del corretto funzionamento con i dati del
problema specifico
Le #2 precedenti fasi di verifica sono molto onerose per il programmatore
(occupano fino all’ 80% del tempo di sviluppo di un muovo programma).
Nel caso di malfunzionamenti del programma dovuti a condizioni
“eccezionali”, rispetto al normale flusso di lavoro del programma, il
programmatore deve essere in grado di prevedere comportamenti
alternativi rispetto alla normale esecuzione del programma stesso.
Consideriamo il seguente pezzo di codice:
o fis = new FileInputStream("file.txt");
l’istruzione utilizza la funzione FileInputStream(), per leggere un file che SI
DEVE CHIAMARE file.txt
Ma che cosa succede se per caso non c’è il file file.txt?
 genera le eccezioni:
 FileNotFoundException
 ……………
Il compilatore al RUN-TIME genera un errore e se il programmatore no ha
previsto una via di uscita, si ferma!
Per progettare una soluzione (Algoritmo) è necessario che:
 l’algoritmo sia GENERALE (utilizzabile per risolvere tutti i problemi
dello stesso tipo)
 l’algoritmo sia RISOLVIBILE (le operazioni descritte possano realmente
essere eseguite dal calcolatore)
 l’algoritmo sia FINITO (costituito da un numero finito di istruzioni)
N.B.: algoritmo e problema NON sono la stessa cosa, perché il problema è
un caso particolare, che l’algoritmo risolve quando viene applicato a quel
problema specifico, cioè per quei particolari DATI di INPUT.