Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini



Похожие документы
Le variabili di Visual Basic consentono di memorizzare temporaneamente valori durante

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Introduzione. Macro macro istruzione. Sequenza di comandi memorizzati programma

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Algebra Booleana ed Espressioni Booleane

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

Introduzione al Foglio Elettronico

Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 9

Introduzione alla programmazione in C

Struttura logica di un programma

Potenzialità statistiche Excel

ISTRUZIONI PER LA GESTIONE BUDGET

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

ACCESSO AL SISTEMA HELIOS...

DAL DIAGRAMMA AL CODICE

Matematica in laboratorio

Funzioni in C. Violetta Lonati

Corso di Visual Basic (Parte 8)

Richiesta pagina PHP (es: index.php)

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

Cosa è un foglio elettronico

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Arduino: Programmazione

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Figura 1 Le Icone dei file di Excel con e senza macro.

Fogli Elettronici: MS Excel utilizzo avanzato

SPECIFICHE E LIMITI DI EXCEL

Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 8

APPUNTI SUL LINGUAGGIO DI PROGRAMMAZIONE PASCAL

Lezione 8. La macchina universale

I file di dati. Unità didattica D1 1

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012

Dispensa di database Access

Airone Gestione Rifiuti Funzioni di Esportazione e Importazione

Sicurezza dei file Le protezioni nei programmi

Veneto Lavoro via Ca' Marcello 67/b, Venezia-Mestre tel.: 041/

IL LINGUAGGIO Visual Basic

JAVASCRIPT. Tale file è associato alla pagina web mediante il tag <script> inserito nella sezione <head> con la seguente sintassi:

Scheda operativa Versione rif c00. Libro Inventari

Codifica: dal diagramma a blocchi al linguaggio C++

MANUALE UTENTE Fiscali Free

Visual Basic.NET La Gestione degli Errori di Federico BARBATI

Variabili e tipi di dato

Uso di base delle funzioni in Microsoft Excel

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi

Gli algoritmi: definizioni e proprietà

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

5.3 TABELLE RECORD Inserire, eliminare record in una tabella Aggiungere record Eliminare record

FUNZIONI DI IMPAGINAZIONE DI WORD

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Corso di Informatica

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Esercizio data base "Biblioteca"

I database relazionali (Access)

UTILIZZO DEL MODULO DATA ENTRY PER L IMPORTAZIONE DEI DOCUMENTI (CICLO PASSIVO)

Excel avanzato. I nomi. Gli indirizzi e le formule possono essere sostituiti da nomi. Si creano tramite Inserisci Nome Definisci

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

per le decisioni economiche e

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software

In questo manuale sono indicate le procedure per utilizzare correttamente la gestione delle offerte dei fornitori.

Appunti di Sistemi Elettronici

Workland CRM. Workland CRM Rel /11/2013. Attività --> FIX. Magazzino --> NEW. Nessuna --> FIX. Ordini --> FIX

7.4 Estrazione di materiale dal web

Modulo 3 - Elaborazione Testi 3.5 Stampa unione

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

WG-TRANSLATE Manuale Utente WG TRANSLATE. Pagina 1 di 15

Alcune regole di base per scrivere un programma in linguaggio C

Access. P a r t e p r i m a

Corso di Informatica

Corso di Archivistica

ISI s.r.l. Corso di Access 05 CREARE UN ELENCO MAILING ED INVIARE MESSAGGI DI POSTA ELETTRONICA Pag. 1/6

Guida all uso. Esso sarà riportato nell intestazione. Vediamo:

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

GESGOLF SMS ONLINE. Manuale per l utente

Programmare in Java. Olga Scotti

Modulo 3 - Elaborazione Testi 3.6 Preparazione stampa

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

CREAZIONE DI UN AZIENDA

Algebra di Boole: Concetti di base. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

COLLI. Gestione dei Colli di Spedizione. Release 5.20 Manuale Operativo

[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008

DevC++ vers Manuale d uso

Dispensa di Informatica I.1

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

MANUALE D USO DELLA PIATTAFORMA ITCMS

Nuova procedura di Cassa Contanti Wingesfar: istruzioni per le farmacie Novembre 2009

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Comandi di Outlook Express Messaggi in partenza Comando Comandopulsante scelta rapida

Costruzione del layout in gino cms

AD HOC Servizi alla Persona

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

EXCEL FUNZIONI PRINCIPALI

Il foglio elettronico 5/06/2013

Транскрипт:

Introduzione all utilizzo di Visual Basic for Application Utilizzo del linguaggio Basic utilizzando l interfaccia di Excel Silvia Patacchini

PROGRAMMAZIONE Insieme delle attività da svolgersi per creare un programma. Attività di programmazione Creazione del CODICE SORGENTE (codice scritto e comprensibile al programmatore) La programmazione

CODICE SORGENTE Sarà tradotto in Codice Macchina tramite COMPILATORI INTERPRETI la CPU elabora il linguaggio macchina I programmi interpretati sono caratterizzati da maggiore semplicità Sono dotati di estrema versatilità su diversi sistemi operativi (necessità dello stesso interprete) Esempi di codici interpretati: Basic, Visual Basic, Phyton

Ogni linguaggio di programmazione gestisce vari tipi di informazione: VBA è un linguaggio utilizzabile in Excel e di conseguenza essenziale se si vogliono creare programmi che interagiscono con celle, fogli e cartelle. Può contenere differenti valori e che quindi può utilizzare subroutine attivabili dal programma. Il linguaggio Visual Basic utilizzato per excel viene comunemente chiamato Visual Basic For Application (VBA). Il linguaggio VBA

Le principali differenze tra il VBA ed il Visual Basic sono: I programmi scritti con VBA vengono memorizzati all interno dell applicazione stessa e non è possibile accedere a questi senza aver lanciato precedentemente l applicazione; I comandi specifici di una versione VBA non sono riconosciuti dalle altre, per cui i programmi che li utilizzano potranno essere eseguiti esclusivamente nell applicazione per la quale sono stati creati. Visual Basic for Application & Visual Basic

MACRO: sono la forma principale con cui si esprime il linguaggio VBA. Rappresentano una sequenza di operazioni che sono state memorizzate attraverso il regime di macro al fine di poterle eseguire automaticamente; Un programma scritto in VB viene eseguito all interno di Excel. Concetti chiave

Importante a fini pratici è capire la differenza tra: Routine: insieme di istruzioni VB strutturate per ottenere un determinato risultato o elaborazione; è il termine più corretto per identificare una macro. Funzione: simile alla routine; riceve generalmente dei valori che elabora per restituire un risultato. Programma: insieme strutturato di istruzioni abitualmente raggruppate in numerose subroutine e funzioni. Modulo: sorta di documento al cui interno si inseriscono programmi secondo un concetto di omogeneità. Debug: attività del programmatore atta ad individuare ed eliminare le anomalie che abitualmente i programmatori presentano durante la fase di sviluppo e nel periodo di collaudo. Ciclo: serie di istruzioni che vengono continuamente ripetute (equivalente dell inglese loop). Concetti chiave

Lanciare VBA: l avvio del VB Editor avviene utilizzando due differenti sistemi tra loro equivalenti ed intercambiabili: Menù Strumenti>Macro>Visual Basic Editor (su Excel 2003; in Excel di versione successiva si trova su Developer) Combinazione tasti Alt+F11

Una volta aperto il VB editor si presenta come una finestra indipendente da Excel nella quale compaiono altre tre finestre: Progetto> elenco in cui sono visibili tutti gli oggetti aperti in Excel e i loro componenti: Eurotool; VBA Project; +Foglio Proprietà Codice

Tutte le routine vengono memorizzate all interno del modulo. Il linguaggio chiede di utilizzare due parole chiave per scrivere le routine: SUB punto di inizio di una routine che deve essere seguita da uno spazio e dal nome che si assegna alla routine. Dopo il nome vanno inserite due parentesi, una aperta ed una chiusa (); END SUB figura nell ultima riga della routine e ne indica la fine; Caratteristiche Routine

I dati inseriti all interno del linguaggio vengono suddivisi in categorie in base al loro tipo o natura. Le categorie a disposizione del programmatore possono essere limitate o numerose in relazione al tipo di linguaggio che si adopera: Parola chiave Tipo di informazione Intervallo Numero di cifre decimali Byte Numeri interi positivi Da 0 a 255 Nessuno Integer Numeri interi -32.768 a +32.767 Nessuno Long Numeri interi -2.147.483.648 a +2.147.483.647 Nessuno Currency Importo monetario -922.337.203.685.477,5808 a + 4 Single Double Numeri con decimali in singola precisione Numeri con decimali in doppia precisione 922.337.203.685.477,5807 Valori negativi -3,402823E38 a - 1,401298E-45 Valori positivi: +1,401298E-45 a +3,402823E38-1,79769313486231E308 a -4,94065645841247E-324 +4,94065645841247E-324 +1,79769313486231E308 6 14 type

Per le variabili con dati testuali quali nomi, indirizzi, annotazioni o altro si ricorre alle variabili di tipo String (per le variabili con lunghezza fissa per le stringhe si inserisce un asterisco * e si indica il numero di caratteri da inserire, tipicamente 10 0 20 quindi String*10). Per le variabili di tipo Date si deve ricorrere ad una sintassi particolare che prevede di racchiudere la data tra una copia di caratteri #. Esempio Dim Data as Date Data = #31/01/2011# Tipologia di variabili

Variabili Booleane Rappresentatate esclusivamente da due valori: False True Sono utilizzati in varie situazioni e rappresentano un buon sistema per rappresentare determinate condizioni o situazioni, indicando se sono vere o false. L utilizzo delle variabili booleane semplifica notevolmente la scrittura e la leggibilità delle condizioni in quanto può essere omesso il controllo sul valore; in pratica, le seguenti istruzioni di verifica sono fra loro identiche e intercambiabili. Tipologia di variabili

Variabili Variant Tipologia di linguaggio con cui si possono memorizzare tutti i tipi di valori ammessi da Visual Basic, infatti il linguaggio si fa carico di eseguire tutte le operazioni di conversione necessarie. Questi benefici hanno un costo per il programmatore che perde il supporto del compilatore per eventuali segnalazioni di errori nell assegnazione di valori diversi da quelli previsti. Variabili Variant

Variabili Object I tipi di Object individuano variabili che contengono oggetti. Funzionano come indici verso altre variabili. Per chi ha confidenza con il concetto di puntatori, si può segnalare che questo tipo si comporta in modo assimilabile ad essi. Overflow>>> è un termine che in ambito informatico viene utilizzato per indicare una situazione in cui un valore che si sta cercando di assegnare, eccede la capacità dell oggetto di destinazione. Variabili Object

MATRICI o ARRAY Sono strumenti che affiancano le variabili che si rivelano estremamente utili in molteplici situazioni. Possono essere considerati come variabili in grado di memorizzare un determinato numero di valori dello stesso tipo. Alle matrici si affianca il concetto di indice, ovvero un numero che permette di identificare ogni elemento della matrice. Nella sintassi di VBA l indice figura racchiuso tra parentesi tonde. Matrici ed Array

COSTANTI Le costanti sono valori inseriti nel programma che non devono essere modificati e vengono utilizzati attraverso un nome convenzionale che viene definito dal programmatore all atto della sua dichiarazione. La dichiarazione delle costanti si effettua con i seguenti elementi: La parola chiave Const; Il nome da assegnare alla costante; La parola chiave As; La parola chiave definente il tipo di valore che la costante conterrà; Il carattere =; Il valore da assegnare alla costante. Le costanti

MACRO A. REGISTRATE: Nel caso in cui ci siano altre macro registrate la nuova macro viene inserita all'interno del modulo in cui sono salvate le precedenti, altrimenti il registratore provvede a creare un modulo nuovo, cui automaticamente il sistema associa il nome Modulo cui segue un numero progressivo; Automaticamente il sistema associa alla macro un nome composto dalla parola Macro seguita da un numero sequenziale il cui scopo è evitare omonimie con altre macro presenti all interno dello stesso modulo. Le macro

Casi di omonimie: È possibile avere macro con le stesso nome contenute in cartelle diverse; È possibile avere macro con lo stesso nome contenute in moduli diversi. Modifiche al nome della macro: non ci sono problemi a meno che la macro non sia richiamata da altre macro, per cui all interno è stato trascritto il nome che si desidera modificare. Gestione omonimie

Limitazioni sintattiche del nome: Lunghezza <64 caratteri; Deve iniziare con una lettera; Ammissibilità combinazione lettere maiuscole, minuscole, cifre, carattere underscore; Per vedere il codice creato dal registratore di macro è necessario prima attivare il Visual Basic Editor e poi accedere al modulo: si accede al modulo tramite la combinazione di tasti Alt+F11 oppure tramite il comando Strumenti>>Macro>>Visual Basic Editor. B. MACRO NON REGISTRATE Va quindi inserita una routine (ricorda SUB; END SUB). Ogni volta si introduce un istruzione errata, un apposita finestra segnala l errore indicando il tipo di problema e il testo dell istruzione viene segnalato in rosso.

L utilizzo di Excel porta ad una naturale familiarità con le funzioni, in quanto rappresentano uno dei punti di forza dei fogli elettronici. Nella programmazione di Excel le routine sono piccoli programmi che eseguono una determinata elaborazione con diversi scopi quali: visualizzare un messaggio, eseguire un calcolo da inserire in una variabile. Le subroutine costituiscono un incrocio fra le routine e le funzioni. ROUTINE: piccoli programmi che eseguono una determinata elaborazione con il solo scopo di restituire un valore che essa ha elaborato in base ad informazioni che ha ricevuto come parametri oppure utilizzando variabili pubbliche FUNZIONI ROUTINE E SUBROUTINE

FUNZIONI: piccoli programmi che eseguono una determinata elaborazione con il solo scopo di restituire un valore che essa ha elaborato in base ad informazioni che ha ricevuto come parametri, oppure utilizzando variabili pubbliche. SUBROUTINE: costituiscono un incrocio fra routine e funzioni; i generi di elaborazioni che i programmatori fanno svolgere alla subroutine possono essere quelle equivalenti di una funzione o di una routine, ma con il vantaggio che esse accettano i parametri anche se non restituiscono valori al chiamante. Funzioni e subroutine

Quando si creano delle funzioni possono essere inserite nella finestra codice di un modulo oppure di una form. La forma sintattica più semplice prevede in sequenza: La parola Function; Il nome; Parentesi tonda aperta; Eventuali parametri separati da virgola; Parentesi tonda chiusa; Tipo di valore da restituire; Corpo; Parola End Function. Function

ESECUZIONE CONDIZIONALE E CICLICA DELLE ISTRUZIONI All interno di un programma è possibile definire dei test mediante i quali è possibile decidere le istruzioni che il programma deve eseguire. Il VBA dispone di diverse istruzioni per la gestione di alcuni test, in particolare si segnalano: If Select case Ed istruzioni per poter rappresentare i cicli: For/next For each/next While/wend Do/Loop Esecuzione condizionale

In particolare: IF: è composta dalle seguenti parti: Test riconducibile a valori booleani o numerici; Utilizzo della parola Then al termine della condizione; Istruzioni da eseguire in caso di test positivo; Else seguito da istruzioni da eseguire in caso negativo; End

Ovvero IF (condizione) THEN Istruzioni in caso la condizione sia verificata ( ) ELSE Istruzioni in caso la condizione non sia verificata ( ) END IF Il risultato del test può essere un risultato numerico oppure booleano ed in quel caso il valore True; altrimenti il valore restituito sarà un valore numerico oppure un valore booleano pari a False. Le principali forme condizionali: -If Then/End If; -If Then/Else/End If; È una forma molto comune in quanto permette di scegliere fra un alternativa di due blocchi di istruzioni, basandosi sul risultato di un espressione inserita nella riga IF. Il concetto da sottolineare è che solo uno dei due blocchi di istruzioni sarà eseguito in base all esito dei test: If Then/End IF.

Forma compatta di codice che utilizza una sola linea sia per la condizione sia per le istruzioni da eseguire in caso di esito positivo del test. Questo ci permette di evitare l istruzione End if. Per esempio: If a=b Then c=0 Che è l equivalente di If a=b Then c=0 End If IF.THEN

Le If annidate non sono un altro tipo di If ma semplicemente il termine con cui si indicano le istruzioni If che, nel gruppo delle istruzioni, contengono altre If come nel seguente esempio. If (condizione) then If (condizione2) then If (condizione 3) then Else (alternativa3) End If Else (alternativa 2) End If Else (alternativa1) End If IF annidate

SELECT CASE È utile nella maggioranza dei casi in cui si dovrebbero costruire una serie di If nelle quali il test si basa sulla valutazione del risultato della stessa espressione. Si compone di: Parola chiave Select Case seguita da una espressione; Parola chiave Case con il valore o un insieme di valori che essa gestisce seguita da una o più righe che costituiscono le istruzioni che verranno eseguite nel caso il valore dell espressione presente in Select Case dia un risultato che essa gestisce. Un blocco di istruzioni che verranno eseguite se nessuna istruzione Case gestisce il valore dell espressione della Select Case, esse appariranno dopo l istruzione Case Else che deve essere l ultima Case; L istruzione End Select che indica la fine della Select Case. Select Case

Offre la possibilità di costruire dei cicli: ovvero una o più operazioni da ripetere più volte. Il ciclo si ripete fino a che non è raggiunta la condizione di fine che può essere: - Condizione di tipo booleano (false oppure numerico =0); - Numero di cicli predefinito; - Istruzione specifica che ne determina la fine, indipendentemente dal valore della condizione o dal numero di cicli già compiuto. CICLO LOOP

FOR/NEXT È il più semplice da apprendere perché serve ad eseguire il ciclo un numero predefinito di volte. L istruzione FOR richiede: La parola chiave FOR; Una variabile numerica utilizzata per memorizzare il numero del ciclo in esecuzione; Il carattere = Il limite iniziale del ciclo (es. for i=0 oppure for i=1.) La parola TO; Il limite finale del ciclo. N.B. se il ciclo deve lavorare sugli elementi di una matrice è possibile utilizzare le funzioni LBOUND() e UBOUND() per indicare il valore iniziale e finale del ciclo. For Next

È l estensione del ciclo For/next. L aggiunta della clausola Step sta ad indicare un incremento o decremento diverso da quello standard ovvero, +1. Step è utile per eseguire: - Cicli in cui il valore iniziale è (a differenza della prassi) inferiore al valore finale, impostando Step con un valore negativo; - Cicli in cui l incremento della variabile sia definito da uno specifico valore come 2,3,5 oppure decimale come 1.5, 3.4 etc etc; FOR STEP/NEXT

Si evita al programmatore d impostare il limite di partenza e quello di arrivo in quanto automaticamente gestiti (si usa tipicamente con le matrici). Richiede: For each; Utilizzo di variabili Variant; La parola chiave in; Nome dell insieme per il quale ogni singolo elemento sarà oggetto di una elaborazione del ciclo. FOR EACH/NEXT

Il ciclo While/Wend viene utilizzato per indicare un blocco di istruzioni la cui esecuzione inizia ed è ripetuta fino a quando la condizione indicata dall istruzione While è vera. Si utilizza questa tipologia per: - Numero di volte non specificato (potrebbe non avere mai inizio); - Quindi il ciclo While/Wend determina se il blocco delle istruzioni deve essere eseguito o meno in relazione al test che viene valutato prima di iniziare ad elaborare. WHILE/WEND

DO WHILE/LOOP Definisce un insieme di istruzioni che verranno eseguite solo e fino quando la condizione riportata nella riga Do While risulterà vera. La differenza con la condizione While/Wend non presenta differenze, ma va sottolineato che supporta l istruzione Exit Do per forzare l uscita anticipata dal loop, indipendentemente dalla condizione di test. DO UNTIL/LOOP Definisce un insieme di istruzioni che verranno eseguite solo e fino a quando la condizione riportata nella riga Do Until risulterà falsa. Altri cicli

DO/LOOP WHILE Il ciclo Do/Loop While permette di definire un insieme di istruzioni che verranno ripetute fino a quando risulta vera la condizione che appare dopo la parola chiave While. DO/LOOP UNTIL Il ciclo Do/Loop Until permette di definire un insieme di istruzioni che verranno ripetute fino a quando risulta vera la condizione che appare dopo la parola chiave Until. Altri cicli