A Visual Basic for Applications (VBA) nem csak a Microsoft Access 2003 programozási nyelve. Ez egy programozási nyelv minden olyan alkalmazáshoz, amely támogatja az automatizálást. Az automatizálás (nagy A betűvel) egy program programozási képességére utal, vagy automatikusan vezérelhető programozási nyelv, például VBA használatával. A Microsoft Office összes fő alkalmazása, köztük a Microsoft Access, a Microsoft Excel, a Microsoft Outlook, a Microsoft PowerPoint és a Microsoft Word támogatja az automatizálást. Kódot írhat az adatok automatikus megosztásához közöttük.
A Component Object Model ( COM ) és az OLE automatizálás kifejezések régebbi kifejezések (de alapvetően egyet jelentenek azzal), amit jelenleg automatizálásnak neveznek.
Mielőtt elkezdené írni a kódot
Mielőtt adatot cserélne az Access és a Microsoft Office Suite más programjai között, vegye figyelembe, hogy a feladat végrehajtásához ritkán van szükség kód írására. Rengeteg adatot importálhat és exportálhat a Microsoft Office alkalmazások között anélkül, hogy kódot írna. Például a következő műveleteket hajthatja végre:
- Adatok importálása és exportálása az Access File menü opcióival.
- E-mail Az objektumok, például a jelentések eléréséhez válassza a Küldés –> Levél címzettje lehetőséget.
- Az OfficeLinks szolgáltatás segítségével objektumokat küldhet más programoknak.
- Használja az alapvető Windows kivágási és beillesztési technikákat és az OLE-t (Object Linking and Embedding) az adatok másolásához és összekapcsolásához a programok között.
- A Word Körlevél funkciójával egyesítse az Access-táblázatok adatait Microsoft Word levelekkel, címkékkel, borítékokkal vagy más jelentésekkel. (Keressen egyesítést a Word súgójában . )
Ha csak adatokat szeretne átvinni az Accessből egy másik programba (vagy fordítva), a kód írása valószínűleg nem a legegyszerűbb módszer. Az előző megközelítések bármelyike egyszerűbb, mint egyéni VBA-kód írása a feladat elvégzéséhez.
Természetesen egyszer egy közmondásos kék holdban olyan helyzetbe kerül, amikor a VBA-kód írása az egyetlen, vagy talán a legjobb módja a munka elvégzésének. Ez a cikk bemutat néhány alapvető fogalmat, amelyeket érdemes megérteni.
A megfelelő objektummodellek betöltése
Az Access objektummodell lehetőséget biztosít az objektumokra név szerint történő hivatkozásra, így az objektumokat VBA-kóddal kezelheti. Minden olyan Office-alkalmazásnak, amely magát VBA-nak teszi ki, van objektummodellje, akárcsak az Access. Miután egy alkalmazásprogram objektumkönyvtára elérhetővé válik, a VBA segítségével vezérelheti az alkalmazást.
Egy objektummodell határozza meg az objektumok nevét és felépítését az alkalmazásban. Az objektumkönyvtár az a tényleges fájl, amely a merevlemezen van tárolva, és meghatározza az elvi objektummodellt.
Mielőtt kódot írna egy külső alkalmazás Accessből történő vezérléséhez, be kell töltenie a megfelelő objektumkönyvtárat az Access Hivatkozások párbeszédpanelébe. Kovesd ezeket a lepeseket:
1. Győződjön meg arról, hogy a Visual Basic Editorban van.
Nyomja meg az Alt+F11 billentyűkombinációt, ha az Access program ablakában van.
2. Válassza a Visual Basic Editor menü Eszközök –> Hivatkozások menüpontját.
Megnyílik a Hivatkozások párbeszédpanel.
3. Görgessen végig az Elérhető hivatkozások listán, és válassza ki a vezérelni kívánt programok objektumkönyvtárait.
Az 1. ábrán a kiválasztott objektumkönyvtárak az Access, az Excel, az Outlook, a PowerPoint és a Word (többek között) számára készültek.

1. ábra: A Hivatkozások párbeszédpanelen kiválasztott több objektumkönyvtár.
4. Kattintson az OK gombra.
Az összes kiválasztott objektumkönyvtár megnyílik, és ettől kezdve hozzáférhet az összes objektummodellhez.
Objektumkönyvtárak eltávolítása
A szükségesnél több objektumkönyvtár betöltése pazarló, mert a VBA-programok lassabban futnak. A való életben ritkán kell kijelölnie az összes elérhető objektumkönyvtárat (lásd az 1. ábrát), hacsak nem szándékozott kölcsönhatásba lépni az aktuális adatbázisból az összes programmal.
A könyvtárakat ugyanolyan könnyen ki tudja tölteni, mint ahogy betölti őket. Nyissa meg a Hivatkozások párbeszédpanelt, és törölje a pipát minden olyan objektumkönyvtár mellett, amelyet valójában nem kíván használni.
Egy program objektummodelljének feltárása
A Visual Basic Editor Objektumböngészője hozzáférést biztosít a Referenciák párbeszédpanelen jelenleg kiválasztott összes objektummodellhez. Minden betöltött objektummodell sok objektumot, osztályt, tulajdonságot és hasonlókat tartalmaz. Az automatizáláshoz azonban elsősorban az egyes programok alkalmazásobjektumát szeretné megnézni. Például az Access Application Object hozzáférést biztosít más, az automatizálást támogató programokhoz. Az Excel-alkalmazásobjektum (amely az Excel objektumkönyvtárában található) felfedi az Excelt más automatizálási programoknak és így tovább.
Az Objektumböngésző VBA-szerkesztőben való megnyitásához válassza a Nézet -> Objektumböngésző parancsot, vagy nyomja meg az F2 billentyűt. Ha segítséget szeretne kapni az Objektumböngésző egy eleméhez, kattintson a nevére, majd kattintson a Súgó (?) gombra az Objektumböngésző eszköztárában.
Ha az Objektumböngésző Projekt/Könyvtár listájából választ, és a bal oldali oszlopban lefelé görgeti az Osztályok listát, több alkalmazás objektumot lát. Ha rákattint valamelyik alkalmazásobjektumra, az alkalmazás neve megjelenik lent, a párbeszédpanel alján. Az alkalmazásobjektum tagjai a jobb oldali ablaktáblában jelennek meg, amint az a 2. ábrán látható.

2. ábra: Az objektumböngésző több objektumkönyvtár hozzáadása után.
Hivatkozások beállítása más programokra
A betöltött objektummodellek után készen áll a VBA-kódban elérhető programok hivatkozásainak beállítására. Az első lépés egy Dim utasítás használatával hozzon létre egy objektumváltozót, amely arra az alkalmazásra hivatkozik, amelyhez csatlakozni szeretne, a következő szintaxis használatával:
Dim anyName As [New] program.Application
A szintaxisban az anyName tetszőleges név, amelyet a kódban kell használni az alkalmazásra hivatkozva. A program argumentum az automatizálási program hivatalos neve. Az Új kulcsszó nem kötelező. Ha szerepel, az Új kulcsszó a kód futása előtt megnyitja az alkalmazás egy másolatát a háttérben (nem feltétlenül látható a képernyőn).
Néhány példa a Dim utasításokra:
Dim appExcel mint új
Excel.Alkalmazás Dim appOutlook mint új Outlook.Alkalmazás
Dim appPowerPoint mint új PowerPoint.Alkalmazás
Dim appWord mint új Word.Application
A Dim utasítás csak akkor érvényes, ha a megfelelő objektumkönyvtár be van töltve. Például a Dim appWord As New Word.Application utasítás meghiúsul, ha a Microsoft Word objektumkönyvtára nincs kiválasztva a Hivatkozások párbeszédpanelen.
A Dim utasítások csupán objektumváltozókat hoznak létre, amelyek az alkalmazásra hivatkoznak a kódon belül. Az alkalmazás Application objektumához való tényleges kapcsolat létrehozásához be kell állítania az objektumváltozó nevét az alkalmazáshoz. A szintaxis az
Állítsa be az objektumváltozót CreateObject-ként ("appName.Application")
ahol az objectVariable megegyezik a Dim utasításban megadott névvel, az appName pedig az alkalmazásprogram neve. A korábbi Dim utasításokra hivatkozva az egyes meghatározott objektumváltozókhoz használt Set utasítások a következők:
Set appExcel = CreateObject("
Excel.Application ") Set appOutlook = CreateObject("Outlook.Application")
Set appPowerPoint = CreateObject("PowerPoint.Application")
Set appWord = CreateObject("Word.Application")
Az Office programcsomag minden alkalmazásának saját objektummodellje van, saját objektumokkal és tulajdonságokkal, de az alapötletek ugyanazok, függetlenül attól, hogy melyik programot és objektummodellt használja.