14
Giorno 3 Autore: Diego La Monica - http://diegolamonica.info Email:[email protected] Office & VBA Apprendere l'utilizzo avanzato della suite MS Office Object Linking Exchange (OLE) Visual Basic for Applications (VBA)

Office & VBA - Giorno 3

Embed Size (px)

DESCRIPTION

In questa lezione sono stati affrontati concetti quali blocchi condizionali e cicli iterativi.

Citation preview

Page 1: Office & VBA - Giorno 3

Giorno 3Autore: Diego La Monica - http://diegolamonica.infoEmail:[email protected]

Office & VBA

●Apprendere l'utilizzo avanzato della suite MS Office

●Object Linking Exchange (OLE)

●Visual Basic for Applications (VBA)

Page 2: Office & VBA - Giorno 3

Giorno 3Autore: Diego La Monica - http://diegolamonica.infoEmail:[email protected]

Che cos'è Microsoft Office?

È una suite applicativa costituita da una serie di strumenti differenziati in dipendenza della versione posseduta

Page 3: Office & VBA - Giorno 3

Giorno 3Autore: Diego La Monica - http://diegolamonica.infoEmail:[email protected]

Riassunto della prima giornata

✔ Microsof Access è un RDBMS con interfaccia grafica che fonde

l'architettura JET a una semplice interfaccia grafica✔ I campi sono i dati elementari mentre le tabelle raggruppano più campi

(es. rubrica indirizzi: ciascun nominativo è un insieme di più campi)✔ Le query sono particolari rappresentazioni delle tabelle che riportano

solo le informazioni che rispondono a determinati criteri✔ La rappresentazione gerarchica delle tabelle è identificato dalle

relazioni.✔ Le interfacce sono uno strumento per rappresentare i dati in un modo

“user friendly”.

Page 4: Office & VBA - Giorno 3

Giorno 3Autore: Diego La Monica - http://diegolamonica.infoEmail:[email protected]

Riassunto della seconda giornata – 1

✔ Esistono componenti standard e componenti avanzati da poter

aggiungere alle interfacce.✔ Un particolare componente avanzato è identificato dalle sottomaschere.✔ Una macro corrisponde ad un insieme di operazioni eseguite in

sequenza. È possibile impostare condizioni per il flusso delle

operazioni.✔ Le maschere di Microsoft Access sono orientate agli eventi che

vengono scatenati dall'interazione dell'utente con i componenti

dell'interfaccia.✔ Ad un'evento si può associare una sola azione (Macro / Codice VBA)

Page 5: Office & VBA - Giorno 3

Giorno 3Autore: Diego La Monica - http://diegolamonica.infoEmail:[email protected]

Riassunto della seconda giornata – 2

✔ VBA è un linguaggio di scripting che ha le medesime regole di Visual

Basic

✔ Una variabile è definita tramite la parola chiave Dim e di default ha

una visibilità limitata (Dim, Private) o può essere di tipo Public✔ Ad una variabile è possibile assegnare un valore, un'altra variabile o

il risultato di un'espressione.✔ Le classi sono strutture che raggruppano proprietà e metodi✔ I componenti delle maschere sono classi che implementano

un'interfaccia grafica e gli eventi.

Page 6: Office & VBA - Giorno 3

Giorno 3Autore: Diego La Monica - http://diegolamonica.infoEmail:[email protected]

Il programma del corso – 3° giorno

● Blocchi condizionali● If Then Else● Select Case

● Cicli Iterativi● For● While● Do

Page 7: Office & VBA - Giorno 3

Giorno 3Autore: Diego La Monica - http://diegolamonica.infoEmail:[email protected]

Variabili booleane e operatori booleani

✔ Una variabile booleana (boolean) può assumere solo due stati:

Vero (True) o Falso (False)

✔ Qualsiasi valore diverso da zero sarà considerato come True.✔ In VBA esistono operatori per la manipolazione di variabili booleane:

✔ AND (C = A And B C è True solo se A e B sono True)

✔ OR (C = A Or B C è True se A è True o B è True)

✔ NOT (B = Not A B è True se A e False )

✔ XOR (C = A Xor B C è True se A è diverso da B)

Page 8: Office & VBA - Giorno 3

Giorno 3Autore: Diego La Monica - http://diegolamonica.infoEmail:[email protected]

Tabelle logiche AND / OR / XOR

Valore A Valore B RisultatoTrue True TrueTrue False FalseFalse False FalseFalse True False

Operatore ANDValore A Valore B Risultato

True True TrueTrue False TrueFalse False FalseFalse True True

Operatore OR

Valore A Valore B RisultatoTrue True FalseTrue False TrueFalse False FalseFalse True True

Operatore XOR

Page 9: Office & VBA - Giorno 3

Giorno 3Autore: Diego La Monica - http://diegolamonica.infoEmail:[email protected]

Blocchi condizionali

✔ Un blocco condizionale è una sequenza di operazioni che vengono eseguite solo al

verificarsi di una precisa equazione booleana✔ If … Then … Else … End If

If Espressione Then…

End If✔ Select Case … Case … End Select

select Case EspressioneCase Valore

…Case Valore

...End Select

Page 10: Office & VBA - Giorno 3

Giorno 3Autore: Diego La Monica - http://diegolamonica.infoEmail:[email protected]

Cicli Iterativi (For)

✔ I cicli iterativi sono un blocco di operazioni che vengono ripetute

finquando una particolare condizione non si verifica.

✔ Il ciclo FOR è un ciclo con un numero di iterazioni determinato.For i = A To B Step C

…Next

✔ A è il valore di partenza della variabile i, B è il valore che dovrà

raggiungere i per completare il ciclo mentre C è il valore di

incremento della variabile i.

Page 11: Office & VBA - Giorno 3

Giorno 3Autore: Diego La Monica - http://diegolamonica.infoEmail:[email protected]

Cicli Iterativi (While)

✔ Per il ciclo iterativo While a differenza del For non è determinabile il

numero di cicli che dovrà eseguire.

✔ Il blocco di istruzioni presenti nel blocco While … Wend sarà

eseguito finquando la condizione di ciclo sarà verificata.While Espressione

…Wend

✔ Dove Espressione è una variabile o il risultato di un'operazione

che dovrà restituire true per garantire l'esecuzione delle operazioni

nel blocco compreso tra le righe While Espressione e Wend

Page 12: Office & VBA - Giorno 3

Giorno 3Autore: Diego La Monica - http://diegolamonica.infoEmail:[email protected]

Cicli Iterativi (Varianti del Do … Loop)

✔ Il ciclo iterativo Do While … Loop segue le stesse regole del ciclo While … Wend.

✔ Il ciclo iterativo del Do … Loop While esegue almeno una volta il codice

presente nel blocco da ciclare e finquando l'espressione segnata dopo il

while non è verificata ripeterà il codice

✔ Do Until … Loop esegue il codice presente nel ciclo iterativo

terminando appena la condizione indicata dopo l'Until si verifica. Non

eseguirà mai il contenuto del codice se la condizione è già verificata.

✔ Do … Loop Until esegue il codice nel ciclo iterativo almeno una volta e

continuerà fino a quando l'espressione è verificata.

Page 13: Office & VBA - Giorno 3

Giorno 3Autore: Diego La Monica - http://diegolamonica.infoEmail:[email protected]

Forzare l'uscita da un ciclo

✔ While … Wend → Exit While✔ For … Next → Exit For✔ Do … Loop → Exit Do

✔ Lo stesso concetto vale per le procedure e per le funzioni:

✔ Private/Public Sub … End Sub → Exit Sub

✔ Private/Public Function … End Function → Exit Function

Page 14: Office & VBA - Giorno 3

Giorno 3Autore: Diego La Monica - http://diegolamonica.infoEmail:[email protected]

Il programma del corso – 4° giorno

● VBA in pratica (3° Parte)