...

Range("A5").Value = Worksheets(1).

by user

on
Category: Documents
10

views

Report

Comments

Transcript

Range("A5").Value = Worksheets(1).
Elementi di Programmazione
Presentazione Corso
Ambiente VBA
Interazione con l’utente
Tipi di Dati, Variabili, Espressioni
EP 10/11-PB
Lezione 1
1
Notizie Generali
• Ricevimento:
– Lunedì dalle 16:30 – 17:30
– Stanza: 4120 U7 quarto piano
• Indirizzo posta elettronica:
– [email protected]
• Sito con i materiali del corso:
– http://digilander.libero.it/lmazzei
– http://www.brunasti.eu/unimib
• Ringraziamenti:
Prof. Luca Mazzei
EP 10/11-PB
Lezione 1
2
Programma
• Revisione dei principali aspetti della programmazione
• Revisione dei principali aspetti dell’uso dell’applicativo Excel
• 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 10/11-PB
Lezione 1
3
Un linguaggio di programmazione
• Variabili
• Costanti
• Istruzioni
– Istruzioni operative / operatori
– Istruzioni di controllo del flusso
– Funzioni (procedure, routine)
– Librerie di funzioni
EP 10/11-PB
Lezione 1
4
Un linguaggio di programmazione
Istruzioni di controllo del flusso
– If - else
– For
– While
– Do – while
EP 10/11-PB
Lezione 1
5
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 10/11-PB
Lezione 1
6
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 10/11-PB
Lezione 1
7
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 10/11-PB
Lezione 1
8
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 10/11-PB
Lezione 1
9
Area Progetto
Ambiente di lavoro
Area Codice
Per cambiare l’aspetto agire qui
Area Proprietà
EP 10/11-PB
Lezione 1
10
Caratteristiche del linguaggio
• 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 10/11-PB
Lezione 1
11
VBA: caratteristiche
• 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 10/11-PB
Lezione 1
12
VBA: caratteristiche
• 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 10/11-PB
Lezione 1
13
VBA: un primo esempio
• 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 10/11-PB
Lezione 1
14
VBA: un primo esempio
• 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 10/11-PB
Lezione 1
15
VBA: esempio commento
• 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 10/11-PB
Lezione 1
16
VBA: esempio commento
• 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 10/11-PB
Lezione 1
17
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 10/11-PB
Lezione 1
18
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 10/11-PB
Lezione 1
19
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 10/11-PB
Lezione 1
20
Uso di controlli
• La tavolozza contiene diversi strumenti
Controlli Standard (nell’ordine):
Casella controllo
Modalità
Casella di testo
Pulsante Comando (Bottone)
Progettazione
Pulsante di opzione
Visualizzatore
Casella riepilogo
Proprietà
Casella combinata
Visualizzatore
Interruttore
Pulsante di selezione
Codice
Barra di scorrimento
Etichetta
Immagine
EP 10/11-PB
Lezione 1
Altri
Controlli
21
Uso Controlli
• Si seleziona il controllo desiderato
• Lo si posiziona sul foglio nella posizione
desiderata
• Si schiaccia due volte sull’oggetto e si
entra in modalità VBA per creare il codice
necessario a gestire il bottone quando
sarà schiacciato
• Il codice si attiva solo fuori dalla modalità
progettazione
EP 10/11-PB
Lezione 1
22
Uso Controlli
– Inseriamo il seguente codice per il bottone
dopo aver cambiato nelle proprietà il nome
del bottone in Schiaccia (attributo (Name)
nella finestra delle proprietà attivata
evidenziando il bottone e schiacciando il tasto
Visualizzatore Proprietà)
Private Sub Schiaccia_Click()
Range("A3").Value = 234
Range("C3").Value = -234
Range("C3").Font.Color = RGB(0, 255, 0)
End Sub
EP 10/11-PB
Lezione 1
23
Un appunto sui colori
• I colori si ottengono combinando i tre
colori base della sintesi sottrattiva:
– Rosso (Red)
– Verde (Green)
– Blu (Blue)
• Si usa la funzione RGB() che ha come
argomento le quantità di ciascuno dei tre
colori base mediante un valore fra 0 e 255
EP 10/11-PB
Lezione 1
24
Altre osservazioni
• Si noti che abbiamo sempre racchiuso il codice
in questo modo:
Private Sub Nome()
:
End Sub
– Abbiamo creato una procedura (Subroutine)
– Denominata Nome
– La parola chiave Private non è obbligatoria
• I commenti si creano premettendo il carattere ‘
– I commenti terminano con la fine della riga
– Per commenti su più righe ogni riga deve iniziare con
‘.
EP 10/11-PB
Lezione 1
25
Fly UP