Top Banner
EP 13/14 Lezione 1 1 Elementi di Programmazione Presentazione Corso Ambiente VBA Interazione con l’utente Tipi di Dati, Variabili, Espressioni
22

Elementi di Programmazione

Mar 15, 2016

Download

Documents

maina

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: [email protected]. Programma. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Elementi di Programmazione

EP 13/14 Lezione 1 1

Elementi di Programmazione

Presentazione CorsoAmbiente VBA

Interazione con l’utenteTipi di Dati, Variabili, Espressioni

Page 2: Elementi di Programmazione

EP 13/14 Lezione 1 2

Notizie Generali

• Ricevimento:– Giovedì dalle 10:30 – 11:30 – Stanza: 4128 U7 quarto piano

• Indirizzo posta elettronica:– [email protected]

Page 3: Elementi di Programmazione

EP 13/14 Lezione 1 3

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

Page 4: Elementi di Programmazione

EP 13/14 Lezione 1 4

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)

Page 5: Elementi di Programmazione

EP 13/14 Lezione 1 5

Ambiente di lavoro

Area Codice

Area Progetto

Area Proprietà

Per cambiare l’aspetto agire qui

Page 6: Elementi di Programmazione

EP 13/14 Lezione 1 6

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

Page 7: Elementi di Programmazione

EP 13/14 Lezione 1 7

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

Page 8: Elementi di Programmazione

EP 13/14 Lezione 1 8

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

Page 9: Elementi di Programmazione

EP 13/14 Lezione 1 9

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

Page 10: Elementi di Programmazione

EP 13/14 Lezione 1 10

VBA: un primo esempio

• Nell’Area Codice scrivere le seguenti istruzioni:

Sub primoEsempio() Range("A3") = ThisWorkbook.Name Range("A5").Value = Worksheets(1).NameRange("B2").Characters.Font.Name="Arial Black"End Sub

• Per eseguire tasto F5

Page 11: Elementi di Programmazione

EP 13/14 Lezione 1 11

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

Page 12: Elementi di Programmazione

EP 13/14 Lezione 1 12

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)

Page 13: Elementi di Programmazione

EP 13/14 Lezione 1 13

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

Page 14: Elementi di Programmazione

EP 13/14 Lezione 1 14

VBA Esempio con CellsSub 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

Page 15: Elementi di Programmazione

EP 13/14 Lezione 1 15

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

Page 16: Elementi di Programmazione

EP 13/14 Lezione 1 16

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.

Page 17: Elementi di Programmazione

EP 13/14 Lezione 1 17

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

Page 18: Elementi di Programmazione

EP 13/14 Lezione 1 18

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

Page 19: Elementi di Programmazione

EP 13/14 Lezione 1 19

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”

Page 20: Elementi di Programmazione

EP 13/14 Lezione 1 20

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

Page 21: Elementi di Programmazione

EP 13/14 Lezione 1 21

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

Page 22: Elementi di Programmazione

EP 13/14 Lezione 1 22

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 ‘.