SlideShare a Scribd company logo
1 of 14
Download to read offline
Office & VBA
               ●Apprendere l'utilizzo
                avanzato della suite MS
                Office
               ●Object Linking Exchange

                (OLE)
               ●Visual Basic for

                Applications (VBA)
                                                      Giorno 3
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
Che cos'è Microsoft Office?


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




                                                      Giorno 3
Autore: Diego La Monica - http://diegolamonica.info
Email:me@diegolamonica.info
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”.

                                                                           Giorno 3
                     Autore: Diego La Monica - http://diegolamonica.info
                     Email:me@diegolamonica.info
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)

                                                                            Giorno 3
                      Autore: Diego La Monica - http://diegolamonica.info
                      Email:me@diegolamonica.info
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.

                                                                           Giorno 3
                     Autore: Diego La Monica - http://diegolamonica.info
                     Email:me@diegolamonica.info
Il programma del corso – 3° giorno

●   Blocchi condizionali
    ●   If Then Else
    ●   Select Case
●   Cicli Iterativi
    ●   For
    ●   While
    ●   Do


                                                                             Giorno 3
                       Autore: Diego La Monica - http://diegolamonica.info
                       Email:me@diegolamonica.info
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)


                                                                          Giorno 3
                    Autore: Diego La Monica - http://diegolamonica.info
                    Email:me@diegolamonica.info
Tabelle logiche AND / OR / XOR

 Operatore AND                                   Operatore OR
Valore A   Valore B    Risultato              Valore A      Valore B     Risultato
 True       True         True                  True          True          True
 True       False        False                 True          False         True
 False      False        False                 False         False         False
 False      True         False                 False         True          True



                                   Valore A      Valore B      Risultato
                                    True           True          False
 Operatore XOR                      True          False          True
                                    False         False          False
                                    False          True          True


                                                                                     Giorno 3
                    Autore: Diego La Monica - http://diegolamonica.info
                    Email:me@diegolamonica.info
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 Espressione
                        Case Valore
                                …
                        Case Valore
                                ...
                 End Select

                                                                                  Giorno 3
                            Autore: Diego La Monica - http://diegolamonica.info
                            Email:me@diegolamonica.info
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.


                                                                               Giorno 3
                         Autore: Diego La Monica - http://diegolamonica.info
                         Email:me@diegolamonica.info
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

                                                                              Giorno 3
                        Autore: Diego La Monica - http://diegolamonica.info
                        Email:me@diegolamonica.info
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.

                                                                            Giorno 3
                      Autore: Diego La Monica - http://diegolamonica.info
                      Email:me@diegolamonica.info
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


                                                                        Giorno 3
                  Autore: Diego La Monica - http://diegolamonica.info
                  Email:me@diegolamonica.info
Il programma del corso – 4° giorno




●   VBA in pratica (3° Parte)




                                                                      Giorno 3
                Autore: Diego La Monica - http://diegolamonica.info
                Email:me@diegolamonica.info

More Related Content

More from Diego La Monica

Ideare un app e farla fruttare: quanti modi? Quale scegliere?
Ideare un app e farla fruttare: quanti modi? Quale scegliere?Ideare un app e farla fruttare: quanti modi? Quale scegliere?
Ideare un app e farla fruttare: quanti modi? Quale scegliere?Diego La Monica
 
Cordova: un viaggio di sola andata
Cordova: un viaggio di sola andataCordova: un viaggio di sola andata
Cordova: un viaggio di sola andataDiego La Monica
 
App di successo - quali strumenti? e le performance?
App di successo - quali strumenti? e le performance?App di successo - quali strumenti? e le performance?
App di successo - quali strumenti? e le performance?Diego La Monica
 
Applicazioni mobili: strumenti, costi soluzioni e peformance
Applicazioni mobili: strumenti, costi soluzioni e peformanceApplicazioni mobili: strumenti, costi soluzioni e peformance
Applicazioni mobili: strumenti, costi soluzioni e peformanceDiego La Monica
 
App di successo quali strumenti? e le performance?
App di successo quali strumenti? e le performance?App di successo quali strumenti? e le performance?
App di successo quali strumenti? e le performance?Diego La Monica
 
Presentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successoPresentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successoDiego La Monica
 
Presentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successoPresentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successoDiego La Monica
 
Strategie per applicazioni web prima o meglio dell'app nativa
Strategie per applicazioni web prima o meglio dell'app nativaStrategie per applicazioni web prima o meglio dell'app nativa
Strategie per applicazioni web prima o meglio dell'app nativaDiego La Monica
 
Applicazioni mobili: dall'ideazione alla pubblicazione
Applicazioni mobili: dall'ideazione alla pubblicazioneApplicazioni mobili: dall'ideazione alla pubblicazione
Applicazioni mobili: dall'ideazione alla pubblicazioneDiego La Monica
 
Competenze per lo sviluppo software nellera del web
Competenze per lo sviluppo software nellera del webCompetenze per lo sviluppo software nellera del web
Competenze per lo sviluppo software nellera del webDiego La Monica
 
Siti web, Portali, Rich Internet Application: tendenze e controtendenze
Siti web, Portali, Rich Internet Application: tendenze e controtendenzeSiti web, Portali, Rich Internet Application: tendenze e controtendenze
Siti web, Portali, Rich Internet Application: tendenze e controtendenzeDiego La Monica
 
I linguaggi del web - seconda edizione (3° giornata)
I linguaggi del web - seconda edizione (3° giornata)I linguaggi del web - seconda edizione (3° giornata)
I linguaggi del web - seconda edizione (3° giornata)Diego La Monica
 
I linguaggi del web - seconda edizione (2° giornata)
I linguaggi del web - seconda edizione (2° giornata)I linguaggi del web - seconda edizione (2° giornata)
I linguaggi del web - seconda edizione (2° giornata)Diego La Monica
 
I linguaggi del web - seconda edizione (1° giornata)
I linguaggi del web - seconda edizione (1° giornata)I linguaggi del web - seconda edizione (1° giornata)
I linguaggi del web - seconda edizione (1° giornata)Diego La Monica
 
ALPHA Architectural Overview
ALPHA Architectural OverviewALPHA Architectural Overview
ALPHA Architectural OverviewDiego La Monica
 
Giochi on line: soluzione per il marketing virale!
Giochi on line: soluzione per il marketing virale!Giochi on line: soluzione per il marketing virale!
Giochi on line: soluzione per il marketing virale!Diego La Monica
 

More from Diego La Monica (20)

Ideare un app e farla fruttare: quanti modi? Quale scegliere?
Ideare un app e farla fruttare: quanti modi? Quale scegliere?Ideare un app e farla fruttare: quanti modi? Quale scegliere?
Ideare un app e farla fruttare: quanti modi? Quale scegliere?
 
Cordova: un viaggio di sola andata
Cordova: un viaggio di sola andataCordova: un viaggio di sola andata
Cordova: un viaggio di sola andata
 
Css stuffs #3
Css   stuffs #3Css   stuffs #3
Css stuffs #3
 
App di successo - quali strumenti? e le performance?
App di successo - quali strumenti? e le performance?App di successo - quali strumenti? e le performance?
App di successo - quali strumenti? e le performance?
 
Css stuffs #2
Css   stuffs #2Css   stuffs #2
Css stuffs #2
 
Css stuffs #1
Css   stuffs #1Css   stuffs #1
Css stuffs #1
 
Applicazioni mobili: strumenti, costi soluzioni e peformance
Applicazioni mobili: strumenti, costi soluzioni e peformanceApplicazioni mobili: strumenti, costi soluzioni e peformance
Applicazioni mobili: strumenti, costi soluzioni e peformance
 
App di successo quali strumenti? e le performance?
App di successo quali strumenti? e le performance?App di successo quali strumenti? e le performance?
App di successo quali strumenti? e le performance?
 
Presentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successoPresentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successo
 
Presentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successoPresentarsi sul mercato globale con app di successo
Presentarsi sul mercato globale con app di successo
 
Strategie per applicazioni web prima o meglio dell'app nativa
Strategie per applicazioni web prima o meglio dell'app nativaStrategie per applicazioni web prima o meglio dell'app nativa
Strategie per applicazioni web prima o meglio dell'app nativa
 
Applicazioni mobili: dall'ideazione alla pubblicazione
Applicazioni mobili: dall'ideazione alla pubblicazioneApplicazioni mobili: dall'ideazione alla pubblicazione
Applicazioni mobili: dall'ideazione alla pubblicazione
 
Competenze per lo sviluppo software nellera del web
Competenze per lo sviluppo software nellera del webCompetenze per lo sviluppo software nellera del web
Competenze per lo sviluppo software nellera del web
 
SVN/TRAC
SVN/TRACSVN/TRAC
SVN/TRAC
 
Siti web, Portali, Rich Internet Application: tendenze e controtendenze
Siti web, Portali, Rich Internet Application: tendenze e controtendenzeSiti web, Portali, Rich Internet Application: tendenze e controtendenze
Siti web, Portali, Rich Internet Application: tendenze e controtendenze
 
I linguaggi del web - seconda edizione (3° giornata)
I linguaggi del web - seconda edizione (3° giornata)I linguaggi del web - seconda edizione (3° giornata)
I linguaggi del web - seconda edizione (3° giornata)
 
I linguaggi del web - seconda edizione (2° giornata)
I linguaggi del web - seconda edizione (2° giornata)I linguaggi del web - seconda edizione (2° giornata)
I linguaggi del web - seconda edizione (2° giornata)
 
I linguaggi del web - seconda edizione (1° giornata)
I linguaggi del web - seconda edizione (1° giornata)I linguaggi del web - seconda edizione (1° giornata)
I linguaggi del web - seconda edizione (1° giornata)
 
ALPHA Architectural Overview
ALPHA Architectural OverviewALPHA Architectural Overview
ALPHA Architectural Overview
 
Giochi on line: soluzione per il marketing virale!
Giochi on line: soluzione per il marketing virale!Giochi on line: soluzione per il marketing virale!
Giochi on line: soluzione per il marketing virale!
 

Office & VBA - Giorno 3

  • 1. Office & VBA ●Apprendere l'utilizzo avanzato della suite MS Office ●Object Linking Exchange (OLE) ●Visual Basic for Applications (VBA) Giorno 3 Autore: Diego La Monica - http://diegolamonica.info Email:me@diegolamonica.info
  • 2. Che cos'è Microsoft Office? È una suite applicativa costituita da una serie di strumenti differenziati in dipendenza della versione posseduta Giorno 3 Autore: Diego La Monica - http://diegolamonica.info Email:me@diegolamonica.info
  • 3. 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”. Giorno 3 Autore: Diego La Monica - http://diegolamonica.info Email:me@diegolamonica.info
  • 4. 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) Giorno 3 Autore: Diego La Monica - http://diegolamonica.info Email:me@diegolamonica.info
  • 5. 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. Giorno 3 Autore: Diego La Monica - http://diegolamonica.info Email:me@diegolamonica.info
  • 6. Il programma del corso – 3° giorno ● Blocchi condizionali ● If Then Else ● Select Case ● Cicli Iterativi ● For ● While ● Do Giorno 3 Autore: Diego La Monica - http://diegolamonica.info Email:me@diegolamonica.info
  • 7. 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) Giorno 3 Autore: Diego La Monica - http://diegolamonica.info Email:me@diegolamonica.info
  • 8. Tabelle logiche AND / OR / XOR Operatore AND Operatore OR Valore A Valore B Risultato Valore A Valore B Risultato True True True True True True True False False True False True False False False False False False False True False False True True Valore A Valore B Risultato True True False Operatore XOR True False True False False False False True True Giorno 3 Autore: Diego La Monica - http://diegolamonica.info Email:me@diegolamonica.info
  • 9. 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 Espressione Case Valore … Case Valore ... End Select Giorno 3 Autore: Diego La Monica - http://diegolamonica.info Email:me@diegolamonica.info
  • 10. 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. Giorno 3 Autore: Diego La Monica - http://diegolamonica.info Email:me@diegolamonica.info
  • 11. 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 Giorno 3 Autore: Diego La Monica - http://diegolamonica.info Email:me@diegolamonica.info
  • 12. 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. Giorno 3 Autore: Diego La Monica - http://diegolamonica.info Email:me@diegolamonica.info
  • 13. 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 Giorno 3 Autore: Diego La Monica - http://diegolamonica.info Email:me@diegolamonica.info
  • 14. Il programma del corso – 4° giorno ● VBA in pratica (3° Parte) Giorno 3 Autore: Diego La Monica - http://diegolamonica.info Email:me@diegolamonica.info