210 likes | 396 Views
Elementi di Programmazione. Presentazione Corso Ambiente VBA Interazione con l’utente Tipi di Dati, Variabili, Espressioni. Notizie Generali. Ricevimento: Giovedì dalle 11:30 – 12:30 Stanza: 4120 U7 quarto piano Indirizzo posta elettronica: paolo.brunasti@unimib.it
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 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 Lezione 1
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 Lezione 1
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. Lezione 1
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 Lezione 1
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 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
Un linguaggio di programmazione • Variabili • Costanti • Istruzioni • Istruzioni operative / operatori • Istruzioni di controllo del flusso • Funzioni (procedure, routine) • Librerie di funzioni Lezione 1
Un linguaggio di programmazione Istruzioni di controllo del flusso • If - else • For • While • Do – while Lezione 1
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 Lezione 1
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 Lezione 1
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 dei fogli di lavoro (Worksheet, Ws) • I Ws sono numerati consecutivamente Lezione 1
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 Lezione 1
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 Lezione 1
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“) Lezione 1
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 Lezione 1
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) 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