Post on 01-May-2015
EP 12/13-PB Lezione 1 1
Elementi di Programmazione
Presentazione CorsoAmbiente VBA
Interazione con l’utenteTipi di Dati, Variabili, Espressioni
EP 12/13-PB Lezione 1 2
Notizie Generali• Ricevimento:
– Giovedì dalle 11:30 – 12:30– Stanza: 4120 U7 quarto piano
• Indirizzo posta elettronica:– paolo.brunasti@unimib.it
• Sito con i materiali del corso:– http://www.brunasti.eu/unimib
• Libro di testo di riferimento:– “Introduction to VBA for Excel” Steven C. Chapra
Prentice Hall – ISBN 9780132386677• Ringraziamenti:
Prof. Luca Mazzei
EP 12/13-PB Lezione 1 3
Programma• Revisione dei principali aspetti dell’uso dell’applicativo Excel• Revisione dei principali aspetti della programmazione • Visual Basic for Applications (VBA)
– caratteristiche del linguaggio– ambiente di lavoro– operatori, tipi di dati, variabili , espressioni– controllo del flusso – sottoprogrammi (sub), funzioni e passaggio parametri– Interazione con l’utente– Aggiunta di funzioni all’ambiente Excel– Utilizzo del registratore di macro– Tipi di dati strutturati– lettura e scrittura da File di testo– cenno agli oggetti ed alla programmazione ad eventi
• Modalità esame:– Prova pratica in laboratorio
EP 12/13-PB Lezione 1 4
Foglio di calcolo elettronicoFoglio elettronico (Da Wikipedia, l'enciclopedia libera)
Un foglio elettronico (chiamato anche foglio di calcolo, in inglese spreadsheet) è un software di produttività personale.
È un programma che permette di effettuare calcoli, elaborare dati e tracciare efficaci rappresentazioni grafiche.
Il principio su cui si basa il foglio di calcolo è semplice: fornire una tabella, detta anche foglio di lavoro, formata da celle in cui si possono inserire dati, numeri o formule.
Le celle, sono la base fondamentale del foglio di calcolo, e sono identificate da una lettera e un numero.
Le colonne sono indicate dalle lettere, le righe dai numeri.
Una cella può contenere un numero o del testo, o eseguire una formula e una funzione su altre celle.
EP 12/13-PB Lezione 1 5
EXCELLMicrosoft Excel (Da Wikipedia, l'enciclopedia libera)
Microsoft Excel è il prodotto da Microsoft dedicato alla produzione ed alla gestione dei fogli elettronici. È’ parte della suite di software di produttività personale Microsoft Office, ed è disponibile per i sistemi operativi Windows e Macintosh. È’ attualmente il foglio elettronico più utilizzato.
• Foglio di calcolo elettronico– Uno tra i tanti (OpenOffice,Visicalc,Lotus123,…)
• Concetti di base:– Foglio– Cella– Formula
EP 12/13-PB Lezione 1 6
EXCELL• Perché usare Excell
– Form– Grafici– Simulazioni– What-If– Calcoli su dati incrociati
• Perché NON usare Excell– Gestione di grandi moli di dati– Calcoli complessi su pochi dati
Ogni strumento è adatto per certe cose e non per altre
EP 12/13-PB Lezione 1 7
Ambiente di lavoro
• Per attivare l’ambiente di lavoro in qualsiasi versione di Excel:
ALT F11• compare una schermata simile a quella
della pagina successiva (per modificare l’aspetto bisogna selezionare il menù visualizza)
EP 12/13-PB Lezione 1 8
Ambiente di lavoro
Area Codice
Area Progetto
Area Proprietà
Per cambiare l’aspetto agire qui
EP 12/13-PB Lezione 1 9
Un linguaggio di programmazione
• Variabili
• Costanti
• Istruzioni– Istruzioni operative / operatori– Istruzioni di controllo del flusso– Funzioni (procedure, routine)– Librerie di funzioni
EP 12/13-PB Lezione 1 10
Un linguaggio di programmazione
Istruzioni di controllo del flusso– If - else– For– While– Do – while
EP 12/13-PB Lezione 1 11
VBA: caratteristiche (1)
• Visual Basic for Applications– linguaggio di programmazione derivato da Visual
Basic per offrire ai prodotti Microsoft Office un ambiente di programmazione
– linguaggio di programmazione• Imperativo (come C/C++, Pascal)• guidato dagli eventi (event driven)• orientato agli oggetti (object oriented)
– Il codice scritto in VBA funziona solo all’interno del programma Office in cui è utilizzato
EP 12/13-PB Lezione 1 12
VBA: caratteristiche (2)
• Orientato agli eventi:– L’interazione avviene quando si compie un evento
(come avviene in una pagina WEB)• Schiacciare un tasto/bottone,• Entrare/uscire da una casella di testo• ...
• Orientato agli oggetti:– Il programma si compone di tante parti (oggetti)
collegate fra loro– Ogni oggetto ha delle proprietà che sono peculiari – Gli oggetti sono inseriti in una gerarchia
EP 12/13-PB Lezione 1 13
VBA: caratteristiche (3)
• Oggetti fondamentali:– File Excel o Cartella di Lavoro (Workbook, WbWb)• Ogni file Excel aperto è un Wb se ve ne è più di
uno sono numerati consecutivamente• Il Wb attivo si chiama ThisWorkbook
– Ogni Wb contiene dei fogli di lavoro (Worksheet, WsWs)
• I Ws sono numerati consecutivamente
EP 12/13-PB Lezione 1 14
VBA: un primo esempio (1)
• Creare un file Excel di nome primo– Scrivere in A2 la parola esempio– Scrivere in B2 il valore 5
• Nell’ambiente schiacciare assieme i due tasti ALT F11 – si apre l’ambiente VBA– Nell’Area Progetto schiacciare due volte
sulla voce Foglio1 dell’elenco Microsoft Excel Oggetti
EP 12/13-PB Lezione 1 15
VBA: un primo esempio (2)
• Nell’Area Codice scrivere le seguenti istruzioni:
Sub primoEsempio()
Range("A3") = ThisWorkbook.Name
Range("A5").Value = Worksheets(1).Name
Range("B2").Characters.Font.Name="Arial Black"
End Sub
• Per eseguire tasto F5
EP 12/13-PB Lezione 1 16
VBA: ASSEGNAMENTO !!
• Per assegnare ad una variabile A un valore x:
•A = x• Per assegnare ad una Cella un valore:
•Range("A3") = “Paolo”• Per leggere il valore di una Cella:
•A = Range("A3“)
EP 12/13-PB Lezione 1 17
VBA: esempio commento (1)
• Range("A3") = ThisWorkbook.Name– Inserisce nella cella A3 il nome della cartella di lavoro
(ThisWorkbook.Name)• Name è una proprietà dell’oggetto ThisWorkbook
• Range("A5").Value = Worksheets(1).Name– Inserisce nella cella A5 il nome del foglio di lavoro in cui è
contenuta• Value indica la proprietà dell’oggetto Range(“A5”) che contiene il
valore della cella (può essere omessa come nella riga precedente)• Name è una proprietà dell’oggetto Worksheets(1)
– Si noti un foglio di lavoro si indica con Worksheets seguito fra parentesi tonde dalla sua posizione
– Name è una proprietà anche di Worksheets ma non si confonde con l’omonima di Workbook perché è preceduta dall’indicazione dell’oggetto cui si riferisce
EP 12/13-PB Lezione 1 18
VBA: esempio commento (2)• Range("B2").Characters.Font.Name="Arial Black“
– Modifica il tipo di fonte della cella B2
• Gerarchia degli oggetti dell’esempioWorkbook Worksheet Celle (ci si riferisce con: Range()) Characters (il carattere nella cella) Font (la fonte usata) Name (il nome della fonte)
EP 12/13-PB Lezione 1 19
VBA
• Ricapitolando– Per riferirsi ad una cella si usa
•Range(“nomeCella”)– In alternativa si può usare anche la notazione
Cells(riga,colonna) » dove riga e colonna sono coordinate numeriche» In questo caso può essere utile visualizzare le
coordinate delle colonne con i numeri e non con le lettere (Strumenti->Opzioni->Generale spuntare la casella Stile di Riferimento R1C1)
– Ogni cella ha diverse proprietà che possono essere modificate
EP 12/13-PB Lezione 1 20
VBA Esempio con Cells
Sub primoEsempio()
Worksheets(2).Cells(3, 1) = ThisWorkbook.Name
Worksheets(2).Cells(5, 1) = Worksheets(1).Range("A5").Value
Worksheets(2).Cells(2, 2) = Worksheets(1).Range("B2").Value
Worksheets(2).Cells(2, 2).Characters.Font.Name = "Courier New"
End Sub
• Si noti che si lavora sul secondo foglio, prendendo alcuni dati dal primo
EP 12/13-PB Lezione 1 21
Uso di controlli
• Il modo di interagire appena visto è poco utile: occorre lanciare ogni volta la procedura
• VBA mette a disposizione i controlli per migliorare l’interazione con l’utente– I controlli si scelgono dalla barra degli
strumenti di controllo:• Visualizza -> Barre degli Strumenti -> Strumenti di
Controllo