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.