Visual Basic per a aplicacions (VBA) no és un llenguatge de programació només per a Microsoft Access 2003. És un llenguatge de programació per a tots els programes d'aplicació que admeten l'automatització. L'automatització (amb una A majúscula ) es refereix a la capacitat d'un programa de ser manipulat mitjançant programació o controlat automàticament mitjançant un llenguatge de programació com VBA. Totes les aplicacions principals de Microsoft Office, incloses Microsoft Access, Microsoft Excel, Microsoft Outlook, Microsoft PowerPoint i Microsoft Word admeten l'automatització. Podeu escriure codi per compartir dades automàticament entre ells.
Els termes Component Object Model ( COM ) i automatització OLE són termes més antics (però bàsicament són sinònims d') el que actualment s'anomena Automatització.
Abans de començar a escriure codi
Abans d'intercanviar dades entre Access i altres programes de Microsoft Office Suite, tingueu en compte que escriure codi per fer la feina rarament és necessari. Podeu importar i exportar moltes dades entre aplicacions de Microsoft Office sense escriure cap codi. Per exemple, podeu realitzar les accions següents:
- Importeu i exporteu dades mitjançant les opcions del menú Access File.
- Correu electrònic Accediu als objectes, com ara informes, escollint Envia a -> Destinatari del correu.
- Utilitzeu la funció OfficeLinks per enviar objectes a altres programes.
- Utilitzeu tècniques bàsiques de retallar i enganxar de Windows i OLE (enllaç i incrustació d'objectes) per copiar i enllaçar dades entre programes.
- Combina les dades de les taules d'Access amb cartes, etiquetes, sobres o altres informes de Microsoft Word mitjançant la funció Combinació de correspondència de Word. (Cerqueu la combinació al sistema d'ajuda de Word . )
Si només busqueu obtenir dades d'Access a un altre programa (o viceversa), probablement escriure codi no sigui l'enfocament més fàcil. Qualsevol dels enfocaments anteriors és més fàcil que escriure codi VBA personalitzat per fer la feina.
Per descomptat, un cop en una lluna blava proverbial, et trobes amb una situació en què escriure codi VBA és l'única, o potser només la millor, manera de fer la feina. Aquest article us mostra alguns conceptes bàsics que voldreu entendre.
Carregant els models d'objectes adequats
El model d'objectes Access proporciona un mitjà per referir-se als objectes pel seu nom perquè pugueu manipular-los mitjançant el codi VBA. Cada programa d'aplicació d'Office que s'exposa a VBA té un model d'objectes, igual que Access. Quan la biblioteca d'objectes d'un programa d'aplicació estigui disponible, podeu utilitzar VBA per controlar aquesta aplicació.
Un model d'objectes defineix els noms i l'organització dels objectes a l'aplicació. Una biblioteca d'objectes és el fitxer real que s'emmagatzema al disc dur i defineix aquest model d'objecte conceptual.
Abans d'escriure codi per controlar una aplicació externa des d'Access, heu de carregar la biblioteca d'objectes adequada al quadre de diàleg Referències d'Access. Seguiu aquests passos:
1. Assegureu-vos que esteu a l'Editor de Visual Basic.
Premeu Alt+F11 si esteu a la finestra del programa Access.
2. Trieu Eines –> Referències al menú de l'Editor de Visual Basic.
S'obre el quadre de diàleg Referències.
3. Desplaceu-vos per la llista Referències disponibles i seleccioneu les biblioteques d'objectes per als programes que voleu controlar.
A la figura 1, les biblioteques d'objectes seleccionades són per a Access, Excel, Outlook, PowerPoint i Word (entre d'altres).

Figura 1: Diverses biblioteques d'objectes seleccionades al quadre de diàleg Referències.
4. Feu clic a D'acord.
S'obriran totes les biblioteques d'objectes seleccionades i a partir d'aquest moment tindreu accés a tots els seus models d'objectes.
Descàrrega de biblioteques d'objectes
Carregar més biblioteques d'objectes de les necessàries és un malbaratament perquè els programes VBA funcionen més lents. A la vida real, poques vegades necessiteu seleccionar totes les biblioteques d'objectes disponibles (vegeu la figura 1) tret que realment tingueu la intenció d'interaccionar amb tots aquests programes de la base de dades actual.
Podeu descarregar biblioteques tan fàcilment com les carregueu. Obriu el quadre de diàleg Referències i desmarqueu la marca de verificació al costat de qualsevol biblioteca d'objectes que realment no voleu utilitzar.
Exploració del model d'objectes d'un programa
El navegador d'objectes del Visual Basic Editor proporciona accés a tots els models d'objectes seleccionats actualment al quadre de diàleg Referències. Cada model d'objectes carregat conté molts objectes, classes, propietats, etc. Però per a l'automatització, principalment voleu mirar l'objecte d'aplicació de cada programa. Per exemple, l'objecte d'aplicació d'accés exposa l'accés a altres programes que admeten l'automatització. L'objecte d'aplicació d'Excel (contingut a la biblioteca d'objectes d'Excel) exposa Excel a altres programes d'automatització, etc.
Per obrir el Navegador d'objectes a l'Editor VBA, trieu Visualitza -> Navegador d'objectes o premeu F2. Per obtenir ajuda amb un element al navegador d'objectes, feu clic al seu nom i, a continuació, feu clic al botó Ajuda (?) de la barra d'eines del navegador d'objectes.
Quan trieu a la llista Projecte/Biblioteca a l'Explorador d'objectes i desplaceu-vos cap avall per la llista Classes a la columna de l'esquerra, veureu diversos objectes d'aplicació. Quan feu clic a un dels objectes Aplicació, el nom de l'aplicació apareix a la part inferior del quadre de diàleg. Els membres d'aquest objecte d'aplicació apareixen al panell de la dreta, tal com es mostra a la figura 2.
![Integració d'Access 2003 amb altres aplicacions de Microsoft Office]()
Figura 2: El navegador d'objectes després d'afegir diverses biblioteques d'objectes.
Establiment de referències a altres programes
Amb els models d'objectes carregats, ja esteu preparat per començar a configurar referències als programes disponibles en codi VBA. El primer pas és utilitzar una instrucció Dim per crear una variable d'objecte que faci referència a l'aplicació a la qual us voleu connectar, utilitzant la sintaxi següent:
Dim anyName com a [Nou] programa.Aplicació
A la sintaxi, anyName és qualsevol nom que us agradi, que s'utilitzarà dins del vostre codi per fer referència a l'aplicació. L' argument del programa és el nom oficial del programa Automation. La paraula clau Nova és opcional. Si s'inclou, la paraula clau Nova obre una còpia de l'aplicació en segon pla (no necessàriament visible a la pantalla) abans que s'executi el codi.
Alguns exemples de declaracions Dim són els següents:
Dim appExcel com a nou Excel.Application
Dim appOutlook com a nou Outlook.Application
Dim appPowerPoint com a nou PowerPoint.Application
Dim appWord com a nou Word.Application
Una instrucció Dim només és vàlida si es carrega la biblioteca d'objectes adequada. Per exemple, la instrucció Dim appWord As New Word.Application falla si la biblioteca d'objectes del Microsoft Word no està seleccionada al quadre de diàleg Referències.
Les declaracions Dim només creen variables d'objecte que fan referència a l'aplicació des del vostre codi. Per establir la connexió amb l'objecte d'aplicació d'una aplicació, heu d'establir el nom de la variable d'objecte a l'aplicació. La sintaxi és
Estableix objectVariable com a CreateObject("appName.Application")
on objectVariable és el mateix que el nom que heu especificat a la instrucció Dim i appName és el nom del programa d'aplicació. En referència a les instruccions Dim anteriors, les sentències Set que utilitzeu per a cada variable d'objecte definida són les següents:
Estableix appExcel = CreateObject(“Excel.Application”)
Estableix appOutlook = CreateObject(“Outlook.Application”)
Estableix appPowerPoint = CreateObject(“PowerPoint.Application”)
Estableix appWord = CreateObject(“Word.Application”)
Cada aplicació de la suite Office té el seu propi model d'objectes amb els seus propis objectes i propietats, però les idees bàsiques són les mateixes independentment del programa i del model d'objectes que utilitzeu.