Elementi di Programmazione
Presentazione Corso
Ambiente VBA
Interazione con l’utente
Tipi di Dati, Variabili, Espressioni
EP 12/13-PB
Lezione 1
1
Notizie Generali
• Ricevimento:
– Giovedì dalle 11:30 – 12:30
– Stanza: 4120 U7 quarto piano
• Indirizzo posta elettronica:
– [email protected]
• 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
2
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
3
Foglio di calcolo elettronico
Foglio 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
4
EXCELL
Microsoft 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
5
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
6
Ambiente di lavoro
• Per attivare l’ambiente di
qualsiasi versione di Excel:
ALT F11
lavoro
in
• compare una schermata simile a quella
della pagina successiva (per modificare
l’aspetto bisogna selezionare il menù
visualizza)
EP 12/13-PB
Lezione 1
7
Area Progetto
Ambiente di lavoro
Area Codice
Per cambiare l’aspetto agire qui
Area Proprietà
EP 12/13-PB
Lezione 1
8
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
9
Un linguaggio di programmazione
Istruzioni di controllo del flusso
– If - else
– For
– While
– Do – while
EP 12/13-PB
Lezione 1
10
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
11
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
12
VBA: caratteristiche (3)
• Oggetti fondamentali:
– File Excel o Cartella di Lavoro (Workbook,
Wb)
• Ogni file Excel aperto è un Wb se ve ne è più di
uno sono numerati consecutivamente
• Il Wb attivo si chiama ThisWorkbook
– Ogni Wb contiene
(Worksheet, Ws)
dei
fogli
di
lavoro
• I Ws sono numerati consecutivamente
EP 12/13-PB
Lezione 1
13
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
14
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
15
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
16
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
17
VBA: esempio commento (2)
• Range("B2").Characters.Font.Name="Arial Black“
– Modifica il tipo di fonte della cella B2
• Gerarchia degli oggetti dell’esempio
Workbook
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
18
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
19
VBA Esempio con Cells
Sub primoEsempio()
Worksheets(2).Cells(3,
Worksheets(2).Cells(5,
Worksheets(2).Cells(2,
Worksheets(2).Cells(2,
End Sub
•
1) = ThisWorkbook.Name
1) = Worksheets(1).Range("A5").Value
2) = Worksheets(1).Range("B2").Value
2).Characters.Font.Name = "Courier New"
Si noti che si lavora sul secondo foglio,
prendendo alcuni dati dal primo
EP 12/13-PB
Lezione 1
20
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
EP 12/13-PB
Lezione 1
21
Scarica

Lezione 01 - 04/10/2012