Visual Basic for Applications (VBA) ei ole ainult Microsoft Access 2003 programmeerimiskeel. See on programmeerimiskeel kõigile rakendusprogrammidele, mis toetavad automatiseerimist. Automatiseerimine (suure tähega A ) viitab programmi võimalusele programmiliselt manipuleerida või automaatselt juhtida programmeerimiskeele, näiteks VBA abil. Kõik peamised Microsoft Office'i rakendused, sealhulgas Microsoft Access, Microsoft Excel, Microsoft Outlook, Microsoft PowerPoint ja Microsoft Word, toetavad automatiseerimist. Nende vahel andmete automaatseks jagamiseks saate kirjutada koodi.
Terminid Component Object Model ( COM ) ja OLE automatiseerimine on vanemad terminid (kuid on põhimõtteliselt sünonüümid) selle jaoks, mida praegu nimetatakse automatiseerimiseks.
Enne koodi kirjutamise alustamist
Enne andmete vahetamist Accessi ja teiste Microsoft Office Suite'i programmide vahel pidage meeles, et töö tegemiseks on koodi kirjutamine harva vajalik. Saate teha palju andmeid Microsoft Office'i rakenduste vahel importimiseks ja eksportimiseks ilma koodi kirjutamata. Näiteks saate teha järgmisi toiminguid.
- Andmete importimine ja eksportimine menüü Access File suvandite abil.
- E-post Juurdepääs objektidele, näiteks aruannetele, valides Saada –> Kirja saaja.
- Kasutage funktsiooni OfficeLinks, et saata objekte teistele programmidele.
- Kasutage programmide vahel andmete kopeerimiseks ja linkimiseks põhilisi Windowsi lõikamise ja kleepimise tehnikaid ning OLE-d (Object Linking and Embedding).
- Ühendage andmed Accessi tabelitest Microsoft Wordi kirjade, siltide, ümbrike või muude aruannetega, kasutades Wordi kirjakooste funktsiooni. (Otsige Wordi abisüsteemist liitmist. )
Kui soovite lihtsalt Accessist mõnda teise programmi andmeid hankida (või vastupidi), pole koodi kirjutamine tõenäoliselt kõige lihtsam viis. Iga eelnev lähenemisviis on lihtsam kui kohandatud VBA-koodi kirjutamine töö tegemiseks.
Muidugi, kord vanasõnalisel sinisel kuul puutute kokku olukorraga, kus VBA-koodi kirjutamine on ainus või võib-olla lihtsalt parim viis töö tegemiseks. See artikkel näitab teile mõningaid põhimõisteid, mida soovite mõista.
Sobivate objektimudelite laadimine
Accessi objektimudel pakub vahendit objektidele nime järgi viitamiseks, et saaksite neid objekte VBA-koodi abil manipuleerida. Igal Office'i rakendusprogrammil, mis avaldab end VBA-le, on objektimudel, nagu ka Accessil. Kui rakendusprogrammi objektiteek on saadaval, saate selle rakenduse juhtimiseks kasutada VBA-d.
Objekti mudeli määratleb nimed ja organisatsiooni objektide taotluses. Objektiteek on tegelik fail, mis on salvestatud teie kõvakettale ja määratleb selle kontseptuaalse objektimudeli.
Enne Accessi välise rakenduse juhtimiseks koodi kirjutamist peate Accessi dialoogiboksi Viited laadima vastava objektiteegi. Järgige neid samme.
1. Veenduge, et olete Visual Basicu redaktoris.
Kui olete Accessi programmi aknas, vajutage klahvikombinatsiooni Alt+F11.
2. Vali Visual Basicu redaktori menüüst Tools –> References.
Avaneb dialoogiboks Viited.
3. Sirvige loendit Saadaolevad viited ja valige nende programmide objektiteegid, mida soovite juhtida.
Joonisel 1 on valitud objektiteegid Accessi, Exceli, Outlooki, PowerPointi ja Wordi jaoks (muu hulgas).

Joonis 1. Dialoogiboksis Viited on valitud mitu objektiteeki.
4. Klõpsake nuppu OK.
Kõik valitud objektiteegid avatakse ja sellest hetkest alates on teil juurdepääs kõigile nende objektimudelitele.
Objektide teekide mahalaadimine
Vajalikust suurema hulga objektiteekide laadimine on raiskamine, kuna VBA programmid töötavad aeglasemalt. Reaalses elus peate harva valima kõiki saadaolevaid objektiteeke (vt joonis 1), välja arvatud juhul, kui kavatsete kõigi nende programmidega praeguses andmebaasis suhelda.
Saate teeke maha laadida sama lihtsalt kui laadite. Avage dialoogiboks Viited ja tühjendage linnuke kõigi objektide teegi kõrval, mida te tegelikult kasutada ei kavatse.
Programmi objektmudeli uurimine
Visual Basicu redaktoris olev objektibrauser pakub juurdepääsu kõigile dialoogiboksis Viited valitud objektimudelitele. Iga laaditud objektimudel sisaldab palju objekte, klasse, atribuute jms. Kuid automatiseerimise puhul soovite peamiselt vaadata iga programmi rakendusobjekti. Näiteks Access Application Object pakub juurdepääsu teistele programmidele, mis toetavad automatiseerimist. Exceli rakendusobjekt (sisaldub Exceli objektiteegi sees) avab Exceli teistele automatiseerimisprogrammidele ja nii edasi.
Objektibrauseri avamiseks VBA redaktoris valige Vaade –> Objektibrauser või vajutage klahvi F2. Objektibrauseris oleva üksuse kohta abi saamiseks klõpsake selle nimel ja seejärel klõpsake objektibrauseri tööriistaribal nuppu Abi (?).
Kui valite objektibrauseris projekti/teegi loendist ja kerite vasakpoolses veerus loendit Klassid alla, näete mitut rakendusobjekti. Kui klõpsate mõnda rakendusobjekti, kuvatakse dialoogiboksi allservas rakenduse nimi. Selle rakendusobjekti liikmed kuvatakse parempoolsel paanil, nagu on näidatud joonisel 2.

Joonis 2: Objektibrauser pärast mitme objektiteegi lisamist.
Viidete seadmine teistele programmidele
Kui objektimudelid on laaditud, olete valmis alustama VBA-koodis saadaolevate programmide viidete seadistamist. Esimene samm on Dim-lause abil luua objektimuutuja, mis viitab rakendusele, millega soovite ühenduse luua, kasutades järgmist süntaksit:
Dim anyName [Uus] programmina.Rakendus
Süntaksis on anyName mis tahes nimi, mis teile meeldib ja mida kasutatakse teie koodis rakendusele viitamiseks. Programmi argument on ametlik nimi Automaatika programmi. Uus märksõna on valikuline. Kui see on kaasatud, avab uus märksõna taustal rakenduse koopia (pole tingimata ekraanil nähtav) enne koodi käivitamist.
Mõned näited Dim-lausetest on järgmised:
Hämar rakendusExcel uuena
Excel.Rakendus Hämar rakendusOutlook uuena Outlook.Rakendus
Hämar rakendusPowerPoint uue PowerPointina.Rakendus
Dim appWord uue sõnana.Rakendus
Dim-lause kehtib ainult siis, kui laaditakse vastav objektiteek. Näiteks lause Dim appWord As New Word.Application nurjub, kui dialoogiboksis Viited pole valitud Microsoft Wordi objektiteeki.
Dim-laused loovad lihtsalt objektimuutujaid, mis viitavad teie koodis olevale rakendusele. Rakenduse rakenduse objektiga ühenduse loomiseks peate määrama rakendusele objekti muutuja nime. Süntaks on
Määra objektimuutujaks CreateObject(“rakenduse nimi.rakendus”)
kus objektimuutuja on sama, mis Dim- lauses määrasite, ja appName on rakendusprogrammi nimi. Varasematele Dim-lausetele viidates on Set-laused, mida kasutate iga määratletud objektimuutuja jaoks, järgmised.
Set appExcel = CreateObject("Excel.Application")
Set appOutlook = CreateObject("Outlook.Application")
Set appPowerPoint = CreateObject("PowerPoint.Application")
Määra appWord = CreateObject("Word.Application")
Igal Office'i komplekti rakendusel on oma objektimudel oma objektide ja omadustega, kuid põhiideed on samad, olenemata sellest, millist programmi ja objektimudelit kasutate.