+ All Categories
Home > Technology > Office & VBA - Giorno 8

Office & VBA - Giorno 8

Date post: 01-Nov-2014
Category:
Upload: diego-la-monica
View: 1,476 times
Download: 1 times
Share this document with a friend
Description:
 
14
Giorno 8 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)
Transcript
Page 1: Office & VBA - Giorno 8

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)

Page 2: Office & VBA - Giorno 8

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

Page 3: Office & VBA - Giorno 8

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”.

Page 4: Office & VBA - Giorno 8

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)

Page 5: Office & VBA - Giorno 8

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.

Page 6: Office & VBA - Giorno 8

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”)

Page 7: Office & VBA - Giorno 8

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

Page 8: Office & VBA - Giorno 8

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 …

Page 9: Office & VBA - Giorno 8

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.

Page 10: Office & VBA - Giorno 8

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

Page 11: Office & VBA - Giorno 8

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…

Page 12: Office & VBA - Giorno 8

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.

Page 13: Office & VBA - Giorno 8

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.

Page 14: Office & VBA - Giorno 8

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.


Recommended