(Ebook - Ita) - Query, Maschere E Vba In Microsoft Access.pdf
EP 10/11-PBLezione 11 Elementi di Programmazione Presentazione Corso Ambiente VBA Interazione con...
-
Upload
angiola-grossi -
Category
Documents
-
view
213 -
download
0
Transcript of EP 10/11-PBLezione 11 Elementi di Programmazione Presentazione Corso Ambiente VBA Interazione con...
EP 10/11-PB Lezione 1 1
Elementi di Programmazione
Presentazione CorsoAmbiente VBA
Interazione con l’utenteTipi di Dati, Variabili, Espressioni
EP 10/11-PB Lezione 1 2
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 3
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 4
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 5
Un linguaggio di programmazione
Istruzioni di controllo del flusso– If - else– For– While– Do – while
EP 10/11-PB Lezione 1 6
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 10/11-PB Lezione 1 7
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 10/11-PB Lezione 1 8
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 9
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 10/11-PB Lezione 1 10
Ambiente di lavoro
Area Codice
Area Progetto
Area Proprietà
Per cambiare l’aspetto agire qui
EP 10/11-PB Lezione 1 11
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 12
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 13
VBA: caratteristiche
• 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 10/11-PB Lezione 1 14
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 15
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 16
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 17
VBA: esempio commento• 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 10/11-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 10/11-PB Lezione 1 19
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 10/11-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 10/11-PB Lezione 1 21
Uso di controlli
• La tavolozza contiene diversi strumenti
Modalità Progettazione
VisualizzatoreProprietà
VisualizzatoreCodice
Controlli Standard (nell’ordine):Casella controlloCasella di testoPulsante Comando (Bottone)Pulsante di opzioneCasella riepilogoCasella combinataInterruttorePulsante di selezioneBarra di scorrimentoEtichettaImmagine
AltriControlli
EP 10/11-PB Lezione 1 22
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 23
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 24
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 25
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 ‘.