SlideShare a Scribd company logo
Office & VBA
               ●Apprendere l'utilizzo
                avanzato della suite MS
                Office
               ●Object Linking Exchange

                (OLE)
               ●Visual Basic for

                Applications (VBA)
                                                      Giorno 8
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 8
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 8
                     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 8
                      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 o 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 8
                     Autore: Diego La Monica - http://diegolamonica.info
                     Email:me@diegolamonica.info
Riassunto della terza giornata

✔ Una variabile booleana può assumere solo 2 valori: True o False.
✔ Esistono operatori per le variabili booleane (And, Or, Xor, Not)
✔ Un blocco condizionale viene eseguito solo al verificarsi di una precisa
   condizione (“if then else” e “select case”).
✔ I cicli iterativi sono blocchi di codice che vengono ripetuti fino al verificarsi
   di una precisa condizione (for, while, do while e do until).
✔ Per forzare l'uscita da un ciclo si usa il comando “exit” seguito
   dall'identificatore del ciclo (“exit for”, “exit do”, “exit while”).
✔ Per le procedure (sub) e le funzioni (function) esistono analoghi
   comandi di uscita (“exit sub” “exit function”)

                                                                             Giorno 8
                       Autore: Diego La Monica - http://diegolamonica.info
                       Email:me@diegolamonica.info
Riassunto delle giornate 4 e 5
✔   Gli script VBA di Microsoft Access si connettono in modo nativo al database utilizzando DAO
    (Data Access Object)
✔   Application.CurrentDB è il metodo che restituisce un'istanza al Database corrente
✔   Tramite il metodo Execute eseguiamo una query che non restituisce risultati mentre tramite il
    metodo OpenRecorset interroghiamo una tabella o una query.
✔   Tramite i metodi MoveFirst, MovePrevious, MoveNext e MoveLast dell'oggetto Recordset
    possiamo spostarci tra i record
✔   Le proprietà EOF e BOF ci indicano se il cursore è posizionato alla fine o all'inizio del recordset.
    Mentre per leggere dal record corrente si usa la proprietà Fields o la forma abbreviata
    myRecordset!FieldName (dove myRecordset è un oggetto di tipo recordset e FieldName è
    il nome del campo).
✔   AddNew, Update e Delete servono rispettivamente per creare, confermare le modifiche ed
    eliminare il record corrente

                                                                                              Giorno 8
                             Autore: Diego La Monica - http://diegolamonica.info
                             Email:me@diegolamonica.info
Riassunto della sesta giornata
✔ File → Carica Dati Esterni → Collega tabelle … è il metodo per creare un
   collegamento simbolico ad una tabella di un altro database.
✔ ADO (ActiveX Data Object) è una libreria per la connessione ai dati da diverse
   fonti dati.
✔ A differenza di DAO, con ADO si parla di Fonte Dati (o Origine Dati), non più di
   Database.
✔ I metodi fondamentali dell'oggetto connection sono open per stabilire una
   connessione con la fonte dati e execute che esegue una query (o più in genere un
   comando sulla fonte dati).
✔ I   metodi     e   le   proprietà   fondamentali   dell'oggetto   recordet    dell'oggetto
   ADODB.Recordset coincidono con i metodi dell'oggetto Recordset di DAO
   MoveFirst, MovePrevious, MoveNext e MoveLast, EOF, BOF, Fields …
                                                                                   Giorno 8
                          Autore: Diego La Monica - http://diegolamonica.info
                          Email:me@diegolamonica.info
Riassunto della settima giornata

✔ L'OLE Automation è un protocollo di condivisione dati e controllo tra due
 applicazioni. È utilizzato da molti software per esporre strumenti di sviluppo,
 macro ecc.
✔ DDE indica che un'applicazione può fungere da server per il chiamante, ma
 non potrà mai agire come il client.
✔ L'oggetto Application è presente in tutta la suite di Office, se non anteposto al
 relativo oggetto applicativo (es. Word, Access, Excel), coincide con il
 contesto applicativo corrente.
✔ Includeno nei “Riferimenti...” (di progetto) una specifica libreria della suite di
 Microsoft Office sarà possibile accedere ai relativi oggetti utilizzando la
 sintassi (per esempio) Word.Application.

                                                                           Giorno 8
                     Autore: Diego La Monica - http://diegolamonica.info
                     Email:me@diegolamonica.info
Il programma della giornata



●   Esportare da Access e importare in
    Excel
●   Creare un foglio di Excel
●   Statistiche ad-hoc



                                                                      Giorno 8
                Autore: Diego La Monica - http://diegolamonica.info
                Email:me@diegolamonica.info
Export da access
✔ Menu File Esporta... → consente di esportare una tabella o una query in
 diversi formati:
                                           La stessa operazione è
 ✔ Access
    ✔ Excel                                raggiunggibile                       da
        ✔ Lotus 1-2-3
              ✔ Paradox
                                           ciascun                       oggetto
                    ✔ Dbase                utilizzando              il       menù
                       ✔ CSV
                          ✔ RTF            contestuale:
                               ✔ HTML      Tasto destro del mouse  Esporta…

                                                                             Giorno 8
                       Autore: Diego La Monica - http://diegolamonica.info
                       Email:me@diegolamonica.info
L'oggetto Excel.Application


             Excel.Application
✔Ogni metodo il cui prefisso inzia per Excel.Application è
 riferito ad Excel
✔Lo si utilizza per dialogare con Excel (assicurandosi di
 aver specificato gli opportuni riferimenti di progetto).
✔Corrisponde in VBA concettualmente alla finestra di Excel
 prima di aprire/creare un qualsiasi file.

                                                                      Giorno 8
                Autore: Diego La Monica - http://diegolamonica.info
                Email:me@diegolamonica.info
L'oggetto Workbook

      Excel.Application.Workbooks
✔È l'insieme degli ambienti di lavoro di excel.
✔Tramite esso è possibile spostarsi da un “ambiente di
 lavoro” all'altro.
✔Tramite i suoi metodi è possibile aggiungere, creare e
 rimuovere i vari “ambienti di lavoro”.

 Excel.Application.ActiveWorkbook
✔Si riferisce all'ambiente di lavoro attualmente in uso.
                                                                       Giorno 8
                 Autore: Diego La Monica - http://diegolamonica.info
                 Email:me@diegolamonica.info
Sull'oggetto Workbook



            Workbook.Worksheets
✔È l'insieme dei fogli di calcolo dell'ambiente di lavoro a cui
 ci si riferisce.
✔Tramite esso è possibile creare, rimuovere, spostare e
 riferirsi ai vari fogli di lavoro.



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

More Related Content

Similar to Office & VBA - Giorno 8

Sencha touch: Sviluppare un'app - 4° parte
Sencha touch: Sviluppare un'app - 4° parteSencha touch: Sviluppare un'app - 4° parte
Sencha touch: Sviluppare un'app - 4° parte
Giuseppe Toto
 
Excel development e sql 1.7
Excel development e sql   1.7Excel development e sql   1.7
Excel development e sql 1.7
Giovanni Della Lunga
 
Excel development e sql 1.3
Excel development e sql   1.3Excel development e sql   1.3
Excel development e sql 1.3
Giovanni Della Lunga
 
Xpages, cosa ci sarà in questa nuova tecnologia
Xpages, cosa ci sarà in questa nuova tecnologiaXpages, cosa ci sarà in questa nuova tecnologia
Xpages, cosa ci sarà in questa nuova tecnologia
Dominopoint - Italian Lotus User Group
 
Domain Driven Design e CQRS
Domain Driven Design e CQRSDomain Driven Design e CQRS
Domain Driven Design e CQRS
Manuel Scapolan
 
DDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continuaDDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continua
Dominopoint - Italian Lotus User Group
 
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
 
Sviluppare apps native per iOS - Lo Stretto Digitale
Sviluppare apps native per iOS - Lo Stretto DigitaleSviluppare apps native per iOS - Lo Stretto Digitale
Sviluppare apps native per iOS - Lo Stretto Digitale
lostrettodigitale
 
Sviluppare app native per iOS
Sviluppare app native per iOSSviluppare app native per iOS
Sviluppare app native per iOS
Gaspare Novara
 
Capitolo 2 elementi di programmazione in vba
Capitolo 2   elementi di programmazione in vbaCapitolo 2   elementi di programmazione in vba
Capitolo 2 elementi di programmazione in vbaGiovanni Della Lunga
 
Introduzione ai Big Data e alla scienza dei dati - Big Data
Introduzione ai Big Data e alla scienza dei dati - Big DataIntroduzione ai Big Data e alla scienza dei dati - Big Data
Introduzione ai Big Data e alla scienza dei dati - Big Data
Vincenzo Manzoni
 
ios 8 - parte 1 - intro - ita
ios 8 - parte 1 - intro - itaios 8 - parte 1 - intro - ita
ios 8 - parte 1 - intro - itaDario Rusignuolo
 
3 database dbms
3 database dbms3 database dbms
3 database dbms
Jacques Bottel
 
5 - Introduzione al Web (2/2) - 17/18
5 - Introduzione al Web (2/2) - 17/185 - Introduzione al Web (2/2) - 17/18
5 - Introduzione al Web (2/2) - 17/18
Giuseppe Vizzari
 
Continuous Delivery Database - Diego Mauricio Lagos Morales - Codemotion Rome...
Continuous Delivery Database - Diego Mauricio Lagos Morales - Codemotion Rome...Continuous Delivery Database - Diego Mauricio Lagos Morales - Codemotion Rome...
Continuous Delivery Database - Diego Mauricio Lagos Morales - Codemotion Rome...
Codemotion
 
Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19
Giuseppe Vizzari
 
Java Programming Language
Java Programming LanguageJava Programming Language
Java Programming Language
Pasquale Paola
 
Never Mind the Bollocks: here's the Domain Driven Design
Never Mind the Bollocks: here's the Domain Driven DesignNever Mind the Bollocks: here's the Domain Driven Design
Never Mind the Bollocks: here's the Domain Driven Design
Andrea Saltarello
 
#dd12 grillo daniele_xpages_tips_tricks_rev2
#dd12 grillo daniele_xpages_tips_tricks_rev2#dd12 grillo daniele_xpages_tips_tricks_rev2
#dd12 grillo daniele_xpages_tips_tricks_rev2
Dominopoint - Italian Lotus User Group
 

Similar to Office & VBA - Giorno 8 (20)

Sencha touch: Sviluppare un'app - 4° parte
Sencha touch: Sviluppare un'app - 4° parteSencha touch: Sviluppare un'app - 4° parte
Sencha touch: Sviluppare un'app - 4° parte
 
Excel development e sql 1.7
Excel development e sql   1.7Excel development e sql   1.7
Excel development e sql 1.7
 
Excel development e sql 1.3
Excel development e sql   1.3Excel development e sql   1.3
Excel development e sql 1.3
 
Xpages, cosa ci sarà in questa nuova tecnologia
Xpages, cosa ci sarà in questa nuova tecnologiaXpages, cosa ci sarà in questa nuova tecnologia
Xpages, cosa ci sarà in questa nuova tecnologia
 
Domain Driven Design e CQRS
Domain Driven Design e CQRSDomain Driven Design e CQRS
Domain Driven Design e CQRS
 
DDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continuaDDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continua
 
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)
 
Sviluppare apps native per iOS - Lo Stretto Digitale
Sviluppare apps native per iOS - Lo Stretto DigitaleSviluppare apps native per iOS - Lo Stretto Digitale
Sviluppare apps native per iOS - Lo Stretto Digitale
 
Sviluppare app native per iOS
Sviluppare app native per iOSSviluppare app native per iOS
Sviluppare app native per iOS
 
Capitolo 2 elementi di programmazione in vba
Capitolo 2   elementi di programmazione in vbaCapitolo 2   elementi di programmazione in vba
Capitolo 2 elementi di programmazione in vba
 
Introduzione ai Big Data e alla scienza dei dati - Big Data
Introduzione ai Big Data e alla scienza dei dati - Big DataIntroduzione ai Big Data e alla scienza dei dati - Big Data
Introduzione ai Big Data e alla scienza dei dati - Big Data
 
ios 8 - parte 1 - intro - ita
ios 8 - parte 1 - intro - itaios 8 - parte 1 - intro - ita
ios 8 - parte 1 - intro - ita
 
3 database dbms
3 database dbms3 database dbms
3 database dbms
 
#dd12 Domino e DB2
#dd12 Domino e DB2#dd12 Domino e DB2
#dd12 Domino e DB2
 
5 - Introduzione al Web (2/2) - 17/18
5 - Introduzione al Web (2/2) - 17/185 - Introduzione al Web (2/2) - 17/18
5 - Introduzione al Web (2/2) - 17/18
 
Continuous Delivery Database - Diego Mauricio Lagos Morales - Codemotion Rome...
Continuous Delivery Database - Diego Mauricio Lagos Morales - Codemotion Rome...Continuous Delivery Database - Diego Mauricio Lagos Morales - Codemotion Rome...
Continuous Delivery Database - Diego Mauricio Lagos Morales - Codemotion Rome...
 
Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19Introduzione al web (2/2) - 18/19
Introduzione al web (2/2) - 18/19
 
Java Programming Language
Java Programming LanguageJava Programming Language
Java Programming Language
 
Never Mind the Bollocks: here's the Domain Driven Design
Never Mind the Bollocks: here's the Domain Driven DesignNever Mind the Bollocks: here's the Domain Driven Design
Never Mind the Bollocks: here's the Domain Driven Design
 
#dd12 grillo daniele_xpages_tips_tricks_rev2
#dd12 grillo daniele_xpages_tips_tricks_rev2#dd12 grillo daniele_xpages_tips_tricks_rev2
#dd12 grillo daniele_xpages_tips_tricks_rev2
 

More from Diego La Monica

E se non avessi davvero bisogno di un app?
E se non avessi davvero bisogno di un app?E se non avessi davvero bisogno di un app?
E se non avessi davvero bisogno di un app?
Diego La Monica
 
Analisi comportamentale nelle app: pensare agli introiti contrasta con l'util...
Analisi comportamentale nelle app: pensare agli introiti contrasta con l'util...Analisi comportamentale nelle app: pensare agli introiti contrasta con l'util...
Analisi comportamentale nelle app: pensare agli introiti contrasta con l'util...
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 andata
Diego La Monica
 
Css stuffs #3
Css   stuffs #3Css   stuffs #3
Css stuffs #3
Diego 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
 
Css stuffs #2
Css   stuffs #2Css   stuffs #2
Css stuffs #2
Diego La Monica
 
Css stuffs #1
Css   stuffs #1Css   stuffs #1
Css stuffs #1
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 peformance
Diego 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 successo
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 successo
Diego 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 nativa
Diego La Monica
 
Applicazioni mobili: dall'ideazione alla pubblicazione
Applicazioni mobili: dall'ideazione alla pubblicazioneApplicazioni mobili: dall'ideazione alla pubblicazione
Applicazioni mobili: dall'ideazione alla pubblicazione
Diego 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 web
Diego La Monica
 
SVN/TRAC
SVN/TRACSVN/TRAC
SVN/TRAC
Diego 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 controtendenze
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 Overview
Diego La Monica
 

More from Diego La Monica (20)

E se non avessi davvero bisogno di un app?
E se non avessi davvero bisogno di un app?E se non avessi davvero bisogno di un app?
E se non avessi davvero bisogno di un app?
 
Analisi comportamentale nelle app: pensare agli introiti contrasta con l'util...
Analisi comportamentale nelle app: pensare agli introiti contrasta con l'util...Analisi comportamentale nelle app: pensare agli introiti contrasta con l'util...
Analisi comportamentale nelle app: pensare agli introiti contrasta con l'util...
 
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 (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
 

Office & VBA - Giorno 8

  • 1. Office & VBA ●Apprendere l'utilizzo avanzato della suite MS Office ●Object Linking Exchange (OLE) ●Visual Basic for Applications (VBA) Giorno 8 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 8 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 8 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 8 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 o 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 8 Autore: Diego La Monica - http://diegolamonica.info Email:me@diegolamonica.info
  • 6. Riassunto della terza giornata ✔ Una variabile booleana può assumere solo 2 valori: True o False. ✔ Esistono operatori per le variabili booleane (And, Or, Xor, Not) ✔ Un blocco condizionale viene eseguito solo al verificarsi di una precisa condizione (“if then else” e “select case”). ✔ I cicli iterativi sono blocchi di codice che vengono ripetuti fino al verificarsi di una precisa condizione (for, while, do while e do until). ✔ Per forzare l'uscita da un ciclo si usa il comando “exit” seguito dall'identificatore del ciclo (“exit for”, “exit do”, “exit while”). ✔ Per le procedure (sub) e le funzioni (function) esistono analoghi comandi di uscita (“exit sub” “exit function”) Giorno 8 Autore: Diego La Monica - http://diegolamonica.info Email:me@diegolamonica.info
  • 7. Riassunto delle giornate 4 e 5 ✔ Gli script VBA di Microsoft Access si connettono in modo nativo al database utilizzando DAO (Data Access Object) ✔ Application.CurrentDB è il metodo che restituisce un'istanza al Database corrente ✔ Tramite il metodo Execute eseguiamo una query che non restituisce risultati mentre tramite il metodo OpenRecorset interroghiamo una tabella o una query. ✔ Tramite i metodi MoveFirst, MovePrevious, MoveNext e MoveLast dell'oggetto Recordset possiamo spostarci tra i record ✔ Le proprietà EOF e BOF ci indicano se il cursore è posizionato alla fine o all'inizio del recordset. Mentre per leggere dal record corrente si usa la proprietà Fields o la forma abbreviata myRecordset!FieldName (dove myRecordset è un oggetto di tipo recordset e FieldName è il nome del campo). ✔ AddNew, Update e Delete servono rispettivamente per creare, confermare le modifiche ed eliminare il record corrente Giorno 8 Autore: Diego La Monica - http://diegolamonica.info Email:me@diegolamonica.info
  • 8. Riassunto della sesta giornata ✔ File → Carica Dati Esterni → Collega tabelle … è il metodo per creare un collegamento simbolico ad una tabella di un altro database. ✔ ADO (ActiveX Data Object) è una libreria per la connessione ai dati da diverse fonti dati. ✔ A differenza di DAO, con ADO si parla di Fonte Dati (o Origine Dati), non più di Database. ✔ I metodi fondamentali dell'oggetto connection sono open per stabilire una connessione con la fonte dati e execute che esegue una query (o più in genere un comando sulla fonte dati). ✔ I metodi e le proprietà fondamentali dell'oggetto recordet dell'oggetto ADODB.Recordset coincidono con i metodi dell'oggetto Recordset di DAO MoveFirst, MovePrevious, MoveNext e MoveLast, EOF, BOF, Fields … Giorno 8 Autore: Diego La Monica - http://diegolamonica.info Email:me@diegolamonica.info
  • 9. Riassunto della settima giornata ✔ L'OLE Automation è un protocollo di condivisione dati e controllo tra due applicazioni. È utilizzato da molti software per esporre strumenti di sviluppo, macro ecc. ✔ DDE indica che un'applicazione può fungere da server per il chiamante, ma non potrà mai agire come il client. ✔ L'oggetto Application è presente in tutta la suite di Office, se non anteposto al relativo oggetto applicativo (es. Word, Access, Excel), coincide con il contesto applicativo corrente. ✔ Includeno nei “Riferimenti...” (di progetto) una specifica libreria della suite di Microsoft Office sarà possibile accedere ai relativi oggetti utilizzando la sintassi (per esempio) Word.Application. Giorno 8 Autore: Diego La Monica - http://diegolamonica.info Email:me@diegolamonica.info
  • 10. Il programma della giornata ● Esportare da Access e importare in Excel ● Creare un foglio di Excel ● Statistiche ad-hoc Giorno 8 Autore: Diego La Monica - http://diegolamonica.info Email:me@diegolamonica.info
  • 11. Export da access ✔ Menu File Esporta... → consente di esportare una tabella o una query in diversi formati: La stessa operazione è ✔ Access ✔ Excel raggiunggibile da ✔ Lotus 1-2-3 ✔ Paradox ciascun oggetto ✔ Dbase utilizzando il menù ✔ CSV ✔ RTF contestuale: ✔ HTML Tasto destro del mouse Esporta… Giorno 8 Autore: Diego La Monica - http://diegolamonica.info Email:me@diegolamonica.info
  • 12. L'oggetto Excel.Application Excel.Application ✔Ogni metodo il cui prefisso inzia per Excel.Application è riferito ad Excel ✔Lo si utilizza per dialogare con Excel (assicurandosi di aver specificato gli opportuni riferimenti di progetto). ✔Corrisponde in VBA concettualmente alla finestra di Excel prima di aprire/creare un qualsiasi file. Giorno 8 Autore: Diego La Monica - http://diegolamonica.info Email:me@diegolamonica.info
  • 13. L'oggetto Workbook Excel.Application.Workbooks ✔È l'insieme degli ambienti di lavoro di excel. ✔Tramite esso è possibile spostarsi da un “ambiente di lavoro” all'altro. ✔Tramite i suoi metodi è possibile aggiungere, creare e rimuovere i vari “ambienti di lavoro”. Excel.Application.ActiveWorkbook ✔Si riferisce all'ambiente di lavoro attualmente in uso. Giorno 8 Autore: Diego La Monica - http://diegolamonica.info Email:me@diegolamonica.info
  • 14. Sull'oggetto Workbook Workbook.Worksheets ✔È l'insieme dei fogli di calcolo dell'ambiente di lavoro a cui ci si riferisce. ✔Tramite esso è possibile creare, rimuovere, spostare e riferirsi ai vari fogli di lavoro. Giorno 8 Autore: Diego La Monica - http://diegolamonica.info Email:me@diegolamonica.info