Sommario:
- Prima di iniziare a scrivere codice
- Caricamento dei modelli di oggetto appropriati
- Impostazione dei riferimenti ad altri programmi
Video: Inserire dati in un Foglio Excel con le UserForm e i Controlli di VBA 2024
Visual Basic for Applications (VBA) non è un linguaggio di programmazione solo per Microsoft Access 2003. È un linguaggio di programmazione per tutti i programmi applicativi che supportano l'automazione. L'automazione (con una maiuscola A ) si riferisce alla capacità di un programma di essere manipolato a livello di programmazione o controllato automaticamente utilizzando un linguaggio di programmazione come VBA. Tutte le principali applicazioni di Microsoft Office, inclusi Microsoft Access, Microsoft Excel, Microsoft Outlook, Microsoft PowerPoint e Microsoft Word supportano l'automazione. È possibile scrivere codice per condividere automaticamente i dati tra di loro.
I termini Modello oggetto componente ( COM ) e Automazione OLE sono termini meno recenti (ma sono fondamentalmente sinonimi) attualmente chiamato Automazione.
Prima di iniziare a scrivere codice
Prima di scambiare dati tra Access e altri programmi in Microsoft Office Suite, tenere presente che scrivere codice per eseguire il lavoro è raramente necessario. È possibile eseguire numerose operazioni di importazione ed esportazione dei dati tra le applicazioni di Microsoft Office senza scrivere alcun codice. Ad esempio, è possibile eseguire le azioni seguenti:
- Importare ed esportare i dati usando le opzioni nel menu File di accesso.
- E-mail Accedere agli oggetti, come i rapporti, scegliendo Invia a -> Destinatario posta elettronica.
- Utilizzare la funzione OfficeLinks per inviare oggetti ad altri programmi.
- Utilizzare le tecniche di base di copia e incolla di Windows e OLE (Object Linking and Embedding) per copiare e collegare i dati tra i programmi.
- Unisci i dati da tabelle di accesso a lettere, etichette, buste o altri report di Microsoft Word, utilizzando la funzione Stampa unione di Word. (Cerca nella Guida di Word per unione )
Se stai solo cercando di ottenere dati da Access ad un altro programma (o viceversa), scrivere codice non è probabilmente l'approccio più semplice. Qualunque approccio precedente è più semplice della scrittura di codice VBA personalizzato per eseguire il lavoro.
Naturalmente, una volta in una proverbiale luna blu, ti imbatti in una situazione in cui scrivere codice VBA è l'unico, o forse solo il migliore, modo di portare a termine il lavoro. Questo articolo ti mostra alcuni concetti di base che vorresti capire.
Caricamento dei modelli di oggetto appropriati
Il modello di oggetti Access fornisce un mezzo per riferirsi agli oggetti in base al nome, in modo che sia possibile manipolare tali oggetti utilizzando il codice VBA. Ogni programma applicativo di Office che si espone a VBA ha un modello a oggetti, proprio come Access.Dopo che la libreria di oggetti di un programma applicativo è disponibile, è possibile utilizzare VBA per controllare tale applicazione.
Un modello di oggetto definisce i nomi e l'organizzazione degli oggetti nell'applicazione. Una libreria di oggetti è il file effettivo che è memorizzato sul disco rigido e definisce quel modello di oggetto concettuale.
Prima di scrivere codice per controllare un'applicazione esterna da Access, è necessario caricare la libreria di oggetti appropriata nella finestra di dialogo Riferimenti in Access. Attenersi alla seguente procedura:
1. Assicurati di essere nel Visual Basic Editor.
Premi Alt + F11 se ti trovi nella finestra del programma di accesso.
2. Scegli Strumenti -> Riferimenti dal menu Editor di Visual Basic.
Si apre la finestra di dialogo Riferimenti.
3. Scorrere l'elenco Riferimenti disponibili e selezionare le librerie di oggetti per i programmi che si desidera controllare.
Nella Figura 1, le librerie di oggetti selezionate sono per Access, Excel, Outlook, PowerPoint e Word (tra gli altri).
Figura 1: Diverse librerie di oggetti selezionate nella finestra di dialogo Riferimenti.
4. Clicca OK.
Tutte le librerie di oggetti selezionate verranno aperte e da questo momento in poi avrete accesso a tutti i loro modelli di oggetti.
Scaricamento di librerie di oggetti
Il caricamento di più librerie di oggetti del necessario è inutile perché i programmi VBA vengono eseguiti più lentamente. Nella vita reale, raramente è necessario selezionare tutte le librerie di oggetti disponibili (vedere la Figura 1) a meno che non si intendesse realmente interagire con tutti quei programmi dal database corrente.
Puoi scaricare le librerie con la stessa facilità con cui le carichi. Aprire la finestra di dialogo Riferimenti e deselezionare il segno di spunta accanto a qualsiasi libreria di oggetti che non si intende realmente utilizzare.
Esplorazione del modello a oggetti di un programma
Il Visualizzatore oggetti nel Visual Basic Editor fornisce l'accesso a tutti i modelli di oggetti attualmente selezionati nella finestra di dialogo Riferimenti. Ogni modello di oggetto caricato contiene molti oggetti, classi, proprietà e così via. Ma per l'automazione, si desidera principalmente esaminare l'oggetto dell'applicazione di ciascun programma. Ad esempio, l'oggetto applicazione di accesso espone l'accesso ad altri programmi che supportano l'automazione. L'oggetto applicazione Excel (contenuto nella libreria oggetti di Excel) espone Excel ad altri programmi di automazione e così via.
Per aprire il Visualizzatore oggetti nell'editor VBA, selezionare Visualizza -> Visualizzatore oggetti oppure premere F2. Per ottenere aiuto con un oggetto nel Visualizzatore oggetti, fare clic sul suo nome, quindi fare clic sul pulsante Guida (?) Nella barra degli strumenti del browser degli oggetti.
Quando si seleziona dall'elenco Progetto / Libreria nel Object Brower e si scorre verso il basso nell'elenco Classi nella colonna sinistra, vengono visualizzati diversi oggetti Application. Quando si fa clic su uno degli oggetti Applicazione, il nome dell'applicazione appare in basso nella parte inferiore della finestra di dialogo. I membri di quell'oggetto dell'applicazione compaiono nel riquadro a destra, come mostrato nella Figura 2.
Figura 2: Il Browser degli oggetti dopo l'aggiunta di più librerie di oggetti.
Impostazione dei riferimenti ad altri programmi
Con i modelli oggetto caricati, sei pronto per iniziare a impostare i riferimenti ai programmi disponibili nel codice VBA.Il primo passaggio consiste nell'utilizzare un'istruzione Dim per creare una variabile oggetto che si riferisce all'applicazione a cui si desidera connettersi, utilizzando la seguente sintassi:
Dim anyName As [Nuovo] programma. Applicazione
Nella sintassi, anyName è un nome che ti piace, da utilizzare all'interno del tuo codice per fare riferimento all'applicazione. L'argomento programma è il nome ufficiale del programma di automazione. La nuova parola chiave è facoltativa. Se inclusa, la nuova parola chiave apre una copia dell'applicazione in background (non necessariamente visibile sullo schermo) prima dell'esecuzione del codice.
Alcuni esempi di dichiarazioni Dim sono i seguenti:
Dim appExcel As New Excel. Applicazione
Dim appOutlook As New Outlook. Applicazione
Dim appPowerPoint As New PowerPoint. Applicazione
Dim appWord As New Word. Applicazione
Un'istruzione Dim è valida solo se viene caricata la libreria di oggetti appropriata. Ad esempio, l'app Dim Word As New Word. L'istruzione dell'applicazione ha esito negativo se la libreria di oggetti per Microsoft Word non è selezionata nella finestra di dialogo Riferimenti.
Le istruzioni Dim si limitano a creare variabili oggetto che si riferiscono all'applicazione dal proprio codice. Per effettuare effettivamente la connessione all'oggetto Application di un'applicazione, è necessario impostare il nome della variabile dell'oggetto nell'applicazione. La sintassi è
Imposta objectVariable As CreateObject ("appName. Application")
dove objectVariable è uguale al nome specificato nell'istruzione Dim e appName è il nome del programma applicativo. Facendo riferimento alle precedenti istruzioni Dim, le istruzioni Set che si utilizzano per ogni variabile oggetto definita sono le seguenti:
Imposta appExcel = CreateObject ("Applicazione Excel")
Imposta appOutlook = CreateObject ("Outlook. Applicazione")
Imposta appPowerPoint = CreateObject ("PowerPoint. Application")
Imposta appWord = CreateObject ("Word. Application")
Ogni applicazione nella suite Office ha il proprio modello di oggetto con propri oggetti e proprietà, ma le idee di base sono le stesse indipendentemente dal modello di programma e oggetto che usi.