EP 12/13 - PBLezione 21 Elementi di Programmazione Interazione con lutente Tipi di Dati
EP 12/13 - PBLezione 22 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
EP 12/13 - PBLezione 23 VBA: esempio commento Range("B2").Characters.Font.Name="Arial Black –Modifica il tipo di fonte della cella B2 Gerarchia degli oggetti dellesempio Workbook Worksheet Celle (ci si riferisce con: Range() ) Characters (il carattere nella cella) Font (la fonte usata) Name (il nome della fonte)
EP 12/13 - PBLezione 24 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
EP 12/13 - PBLezione 25 Controlli Interazione guidata con lutente –Set di strumenti predefiniti –Programmazione ad eventi
EP 12/13 - PBLezione 26 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 linterazione con lutente –I controlli si scelgono dalla barra degli strumenti di controllo: Visualizza -> Barre degli Strumenti -> Strumenti di Controllo
EP 12/13 - PBLezione 27 Uso Controlli (1) La tavolozza contiene diversi strumenti Modalità Progettazione Visualizzatore Proprietà Visualizzatore Codice Controlli Standard (nellordine): Casella controllo Casella di testo Pulsante Comando (Bottone) Pulsante di opzione Casella riepilogo Casella combinata Interruttore Pulsante di selezione Barra di scorrimento Etichetta Immagine Altri Controlli
EP 12/13 - PBLezione 28 Uso Controlli (2) Creiamo un bottone a cui associamo del codice –Oggetto : bottone –Evento : click del mouse –Azione : funzione di risposta
EP 12/13 - PBLezione 29 Uso Controlli (3) In modalità di progettazione: Si seleziona il controllo desiderato Lo si posiziona sul foglio nella posizione desiderata Si schiaccia due volte sulloggetto 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 12/13 - PBLezione 210 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
EP 12/13 - PBLezione 211 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 12/13 - PBLezione 212 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.
EP 12/13 - PBLezione 213 Interazione con utente: MsgBox (1) Serve per inviare un messaggio allutente 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
EP 12/13 - PBLezione 214 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
EP 12/13 - PBLezione 215 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
EP 12/13 - PBLezione 216 Interazione utente: InputBox (1) Serve per richiedere dei dati allutente E una funzione che restituisce una stringa con il valore inserito dallutente 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 allangolo superiore sx dello schermo (facoltative)
EP 12/13 - PBLezione 217 Coordinate Video Yp Xp (0,0) (0,Xmax) (Ymax, 0) (X,Y)
EP 12/13 - PBLezione 218 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
EP 12/13 - PBLezione 219 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à dellente 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
EP 12/13 - PBLezione 220 Principali Tipi di VBA (1) Byte Boolean True False Integer Long Single -3, , , Double -1, , , ,
EP 12/13 - PBLezione 221 Principali Tipi di VBA (2) Currency , ,5807 Date 01/01/ /12/9999 String (sequenza ordinata di caratteri) –Possono essere: Lunghezza variabile da 0 a 2 31 caratteri. Lunghezza fissa da 1 a 2 16 caratteri.
EP 12/13 - PBLezione 222 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