220 likes | 348 Views
Elementi di Programmazione. Interazione con l’utente Tipi di Dati. Libri. Chapra Introduction to VBA for EXCEL (II Edition – Ed. Pearson) Guccini, Excel 2007 Macro, apogeo (7,50 ) Rota, Visual Basic, Hoepli (ed. per le scuole superiori)
E N D
Elementi di Programmazione Interazione con l’utente Tipi di Dati Lezione 2
Libri • Chapra • Introduction to VBA for EXCEL (II Edition – Ed. Pearson) • Guccini, Excel 2007 Macro, apogeo (7,50 ) • Rota, Visual Basic, Hoepli (ed. per le scuole superiori) • Specifico per Visual Basic non per VBA ma per i principianti può essere utile per apprendere i fondamenti Lezione 2
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 2
VBA – accesso alle celle • Per riferirsi ad una cella si usa • Range(“nomeCella”) • 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 2
Controlli Interazione guidata con l’utente • Set di strumenti predefiniti • Programmazione ad eventi Lezione 2
Perché i 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 2
Uso Controlli (1) • 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 2
Uso Controlli (2) Creiamo un bottone a cui associamo del codice • Oggetto : bottone • Evento : click del mouse • Azione : funzione di risposta Lezione 2
Uso Controlli (3) In modalità di progettazione: • 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 2
Uso Controlli (4) • 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 2
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 2
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 2
Interazione con utente: MsgBox (1) • Serve per inviare un messaggio all’utente • Ha due forme: • Funzione: MsgBox(testo, tipoCasella, titolo) • testo: stringa con il messaggio (fra “”) • tipoCasella: tipo della acsella (vedi poi; facoltativo) • titolo: stringa con il titolo della casella (facoltativo) • Restituisce un valore che va messo in una variabile • Istruzione MsgBox testo, tipoIcona, titolo • Non restituisce alcun valore Lezione 2
Interazione con utente: MsgBox (2) • tipoCasella può avere diversi valori fra cui: vbOKOnly vbCritical vbQuestion vbExclamation vbInformation • Quando si salta un valore nella lista dei parametri va comunque messa la virgola. MsgBox(testo,, titolo) MsgBox testo,, titolo Lezione 2
Interazione con utente: MsgBox (3) • Studiare il comportamento del seguente codice sostituendo i diversi valori per TipoCasella(osservare come varia il valore restituito): Sub interazione() ris = MsgBox("Ciao!", , "prova") Range("A1") = ris MsgBox "Bye!", vbCritical, "prova" Range("A1") = "" End Sub Lezione 2
Interazione utente: InputBox (1) • Serve per richiedere dei dati all’utente • E’ una funzione che restituisce una stringa con il valore inserito dall’utente InputBox(Testo, Titolo, Default, Xp, Yp) • Testo: indicazione della richiesta • Titolo: intitolazione casella (facoltativo) • Default: valore restituito in caso di nessuna scelta (facoltativo) • Xp, Yp: coordinate della casella sul video espressa in punti tipografici (1/72 di pollice = 0,35 mm) rispetto all’angolo superiore sx dello schermo (facoltative) Lezione 2
Coordinate Video Xp (0,Xmax) (0,0) (X,Y) (Ymax, 0) Yp Lezione 2
Interazione utente: InputBox (2) • Provare ad eseguire il seguente esempio con diversi valori: Sub interagisci() ris = InputBox("valore: ", "Casella", "nulla", 10, 20) Range("A1") = ris End Sub Lezione 2
Tipi di Dati • Il tipo di dato indica il modo di codificare i dati e le operazioni che si possono compiere su questi • Il nome del tipo di dato può richiamare nomi di entità matematiche ma non è detto che gli intervalli e le proprietà dell’ente matematico coincidano con quelle del tipo di dato • Finitezza delle rappresentazioni che deriva dalla memoria limitata di un elaboratore: • Interi: complemento a due a n bit • Reali: virgola mobile ad n bit Lezione 2
Principali Tipi di VBA (1) • Byte0-255 • BooleanTrue False • Integer-32.768 ... 32.767 • Long-2.147.483.648... 2.147.483.647 • Single -3,403 1038 ... -1.401 10-324 1,401 10-324 ... 3,403 1038 • Double -1,798 10308 ... -4,941 10-324 4,941 10-324 ...1,798 10308 Lezione 2
Principali Tipi di VBA (2) • Currency -922.337.203.685.477,5808 ... 922.337.203.685.477,5807 • Date 01/01/100 ... 31/12/9999 • String(sequenza ordinata di caratteri) • Possono essere: • Lunghezza variabile da0a231caratteri. • Lunghezza fissa da1a216caratteri. Lezione 2
Tipo Variant • quando non viene dichiarato il tipo si assume che sia Variant • Per dati numerici come Double • Per dati non numerici come String di lunghezza variabile Lezione 2