220 likes | 358 Views
Elementi di Programmazione. Presentazione Corso Ambiente VBA Interazione con l’utente Tipi di Dati, Variabili, Espressioni. Notizie Generali. Ricevimento: Giovedì dalle 10:30 – 11:30 Stanza: 4128 U7 quarto piano Indirizzo posta elettronica: ugo.moscato@unimib.it. Programma.
E N D
Elementi di Programmazione Presentazione Corso Ambiente VBA Interazione con l’utente Tipi di Dati, Variabili, Espressioni Lezione 1
Notizie Generali • Ricevimento: • Giovedì dalle 10:30 – 11:30 • Stanza: 4128 U7 quarto piano • Indirizzo posta elettronica: • ugo.moscato@unimib.it Lezione 1
Programma • 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: • Esame scritto in laboratorio (non vi è l’orale) • Bibliografia: -- Chapra S. - Introduction to VBA for Excel – Pearson - 2010 Lezione 1
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) Lezione 1
Area Progetto Ambiente di lavoro Area Codice Per cambiare l’aspetto agire qui Area Proprietà Lezione 1
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 dell’ applicazione Office in cui è utilizzato Lezione 1
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 Lezione 1
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 dei fogli di lavoro (Worksheet, Ws) • I Ws sono numerati consecutivamente Lezione 1
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 Lezione 1
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 Lezione 1
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 Lezione 1
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) Lezione 1
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 Lezione 1
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 Lezione 1
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 Lezione 1
Uso di controlli (2007) • I controlli si scelgono dalla barra degli strumenti di controllo del menu Sviluppo che va prima attivato: • Pulsante “Office” in alto a sinistra • Cliccare su “Opzioni di Excel” in basso a destra • Attivare “Mostra scheda sviluppo sulla barra multifunzione” • Dal menu Sviluppo, ora si può scegliere “Inserisci” per inserire un controllo. Lezione 1
Uso di controlli • La tavolozza contiene diversi strumenti • Controlli Standard (nell’ordine): • Casella controllo • Casella di testo • Pulsante Comando (Bottone) • Pulsante di opzione • Casella riepilogo • Casella combinata • Interruttore • Pulsante di selezione • Barra di scorrimento • Etichetta • Immagine Modalità Progettazione Altri Controlli Visualizzatore Proprietà Visualizzatore Codice Lezione 1
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 Lezione 1
Uso Controlli (2007) • Si seleziona il controllo desiderato • Lo si posiziona sul foglio nella posizione desiderata • Appare subito una finestra pop-up “Assegna Macro”. Cliccare su “Nuovo” Lezione 1
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 Lezione 1
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 Lezione 1
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 ‘. Lezione 1