Upload
diego-la-monica
View
1.488
Download
1
Embed Size (px)
DESCRIPTION
Citation preview
Giorno 8Autore: 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)
Giorno 8Autore: 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
Giorno 8Autore: 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”.
Giorno 8Autore: 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)
Giorno 8Autore: 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 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 8Autore: Diego La Monica - http://diegolamonica.infoEmail:[email protected]
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 8Autore: Diego La Monica - http://diegolamonica.infoEmail:[email protected]
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 8Autore: Diego La Monica - http://diegolamonica.infoEmail:[email protected]
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 8Autore: Diego La Monica - http://diegolamonica.infoEmail:[email protected]
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 8Autore: Diego La Monica - http://diegolamonica.infoEmail:[email protected]
Il programma della giornata
● Esportare da Access e importare in
Excel● Creare un foglio di Excel● Statistiche ad-hoc
Giorno 8Autore: Diego La Monica - http://diegolamonica.infoEmail:[email protected]
Export da access
✔Menu File\ Esporta... → consente di esportare una tabella o una query in diversi formati:
✔Access
✔Excel
✔Lotus 1-2-3
✔Paradox
✔Dbase
✔CSV
✔RTF
✔HTML
La stessa operazione è
raggiunggibile da
ciascun oggetto
utilizzando il menù
contestuale:Tasto destro del mouse \ Esporta…
Giorno 8Autore: Diego La Monica - http://diegolamonica.infoEmail:[email protected]
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 8Autore: Diego La Monica - http://diegolamonica.infoEmail:[email protected]
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 8Autore: Diego La Monica - http://diegolamonica.infoEmail:[email protected]
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.