Visual Basic for Applications (VBA) nav tikai Microsoft Access 2003 programmēšanas valoda. Tā ir programmēšanas valoda visām lietojumprogrammām, kas atbalsta automatizāciju. Automatizācija (ar lielo burtu A ) attiecas uz programmas spēju programmēt vai vadīt automātiski, izmantojot programmēšanas valodu, piemēram, VBA. Visas galvenās Microsoft Office lietojumprogrammas, tostarp Microsoft Access, Microsoft Excel, Microsoft Outlook, Microsoft PowerPoint un Microsoft Word, atbalsta automatizāciju. Varat rakstīt kodu, lai automātiski koplietotu datus.
Termini Component Object Model ( COM ) un OLE automatizācija ir vecāki termini (bet būtībā ir sinonīmi), ko pašlaik sauc par automatizāciju.
Pirms sākat rakstīt kodu
Pirms datu apmaiņas starp Access un citām Microsoft Office Suite programmām, ņemiet vērā, ka koda rakstīšana, lai veiktu darbu, ir reti nepieciešama. Varat veikt daudz datu importēšanas un eksportēšanas starp Microsoft Office lietojumprogrammām, nerakstot nekādu kodu. Piemēram, varat veikt šādas darbības:
- Importējiet un eksportējiet datus, izmantojot Access File izvēlnes opcijas.
- E-pasts Piekļūstiet objektiem, piemēram, atskaitēm, izvēloties Sūtīt -> Pasta adresāts.
- Izmantojiet OfficeLinks līdzekli, lai nosūtītu objektus uz citām programmām.
- Izmantojiet pamata Windows izgriešanas un ielīmēšanas metodes un OLE (Object Linking and Embedding), lai kopētu un saistītu datus starp programmām.
- Apvienojiet datus no Access tabulām ar Microsoft Word burtiem, etiķetēm, aploksnēm vai citiem pārskatiem, izmantojot Word pasta sapludināšanas līdzekli. (Meklējiet Word palīdzības sistēmā sapludināšanu. )
Ja jūs vienkārši vēlaties iegūt datus no Access uz citu programmu (vai otrādi), koda rakstīšana, iespējams, nav vienkāršākā pieeja. Jebkura no iepriekšējām pieejām ir vienkāršāka nekā pielāgota VBA koda rakstīšana darba veikšanai.
Protams, reiz sakāmvārdā zilā mēnesī jūs saskaraties ar situāciju, kad VBA koda rakstīšana ir vienīgais vai varbūt tikai labākais veids, kā paveikt darbu. Šajā rakstā ir parādīti daži pamatjēdzieni, kurus vēlaties saprast.
Notiek atbilstošo objektu modeļu ielāde
Access objektu modelis nodrošina iespēju atsaukties uz objektiem pēc nosaukuma, lai jūs varētu manipulēt ar šiem objektiem, izmantojot VBA kodu. Katrai Office lietojumprogrammai, kas sevi pakļauj VBA, ir objekta modelis, tāpat kā Access. Kad lietojumprogrammas objektu bibliotēka ir pieejama, varat izmantot VBA, lai kontrolētu šo lietojumprogrammu.
Objekta modelis definē vārdus un organizāciju objektu pieteikumā. Objektu bibliotēka ir faktiskais fails, kas tiek glabāts jūsu cietajā diskā un definē konceptuālo objekta modeli.
Pirms rakstāt kodu, lai kontrolētu ārējo lietojumprogrammu no Access, programmas Access dialoglodziņā Atsauces ir jāielādē atbilstošā objektu bibliotēka. Veiciet tālāk norādītās darbības.
1. Pārliecinieties, vai izmantojat Visual Basic redaktoru.
Nospiediet Alt+F11, ja atrodaties Access programmas logā.
2. Visual Basic redaktora izvēlnē izvēlieties Rīki –> Atsauces.
Tiek atvērts dialoglodziņš Atsauces.
3. Ritiniet sarakstu Pieejamās atsauces un atlasiet objektu bibliotēkas programmām, kuras vēlaties vadīt.
1. attēlā atlasītās objektu bibliotēkas ir paredzētas Access, Excel, Outlook, PowerPoint un Word (cita starpā).
1. attēls. Dialoglodziņā Atsauces atlasītas vairākas objektu bibliotēkas.
4. Noklikšķiniet uz Labi.
Tiks atvērtas visas atlasītās objektu bibliotēkas, un no šī brīža jums būs piekļuve visiem to objektu modeļiem.
Objektu bibliotēku izkraušana
Ielādēt vairāk objektu bibliotēku nekā nepieciešams ir izšķērdīga, jo VBA programmas darbojas lēnāk. Reālajā dzīvē jums reti ir jāatlasa visas pieejamās objektu bibliotēkas (skatiet 1. attēlu), ja vien jūs patiešām neplānojat mijiedarboties ar visām šīm programmām no pašreizējās datu bāzes.
Bibliotēkas var izlādēt tikpat viegli, cik tās ielādējat. Atveriet dialoglodziņu Atsauces un notīriet atzīmi no izvēles rūtiņas blakus jebkurai objektu bibliotēkai, kuru īsti neplānojat izmantot.
Programmas objekta modeļa izpēte
Visual Basic redaktora objektu pārlūkprogramma nodrošina piekļuvi visiem objektu modeļiem, kas pašlaik atlasīti dialoglodziņā Atsauces. Katrs ielādēts objekta modelis satur daudzus objektus, klases, rekvizītus utt. Bet automatizācijai galvenokārt vēlaties apskatīt katras programmas lietojumprogrammas objektu. Piemēram, Access Application Object nodrošina piekļuvi citām programmām, kas atbalsta automatizāciju. Excel lietojumprogrammas objekts (kas atrodas Excel objektu bibliotēkā) pakļauj programmu Excel citām automatizācijas programmām un tā tālāk.
Lai VBA redaktorā atvērtu objektu pārlūkprogrammu, izvēlieties View -> Object Browser vai nospiediet taustiņu F2. Lai saņemtu palīdzību saistībā ar objektu objektu pārlūkprogrammā, noklikšķiniet uz tā nosaukuma un pēc tam rīkjoslā Object Browser noklikšķiniet uz pogas Palīdzība (?).
Kad izvēlaties no projektu/bibliotēkas saraksta objektu pārlūkprogrammā un ritiniet uz leju sarakstu Klases kreisajā kolonnā, tiek parādīti vairāki lietojumprogrammu objekti. Noklikšķinot uz viena no lietojumprogrammas objektiem, lietojumprogrammas nosaukums tiek parādīts dialoglodziņa apakšdaļā. Šī lietojumprogrammas objekta dalībnieki parādās rūtī pa labi, kā parādīts 2. attēlā.
2. attēls . Objektu pārlūkprogramma pēc vairāku objektu bibliotēku pievienošanas.
Atsauču iestatīšana uz citām programmām
Kad objektu modeļi ir ielādēti, varat sākt iestatīt atsauces uz pieejamajām programmām VBA kodā. Pirmais solis ir izmantot Dim priekšrakstu, lai izveidotu objekta mainīgo, kas attiecas uz lietojumprogrammu, ar kuru vēlaties izveidot savienojumu, izmantojot šādu sintaksi:
Dim anyName Kā [Jauna] programma.Aplikācija
Jo sintaksē, anyName ir jebkurš vārds jums patīk, ko izmanto jūsu kodā, lai atsauktos uz pieteikumu. Programma arguments ir oficiālais nosaukums Automatizācijas programmas. Jauns atslēgvārds nav obligāts. Ja ir iekļauts, jauns atslēgvārds pirms koda palaišanas atver lietojumprogrammas kopiju fonā (nav obligāti redzama ekrānā).
Daži Dim paziņojumu piemēri ir šādi:
Dim appExcel kā jauns Excel.Application
Dim appOutlook kā jauns Outlook.Application
Aptumšot appPowerPoint kā jaunu PowerPoint.Application
Dim appWord kā jaunu Word.Application
Dim paziņojums ir derīgs tikai tad, ja ir ielādēta atbilstošā objektu bibliotēka. Piemēram, paziņojums Dim appWord kā jauns Word.Application neizdodas, ja dialoglodziņā Atsauces nav atlasīta Microsoft Word objektu bibliotēka.
Dim paziņojumi tikai rada objektu mainīgos, kas atsaucas uz lietojumprogrammu no jūsu koda. Lai faktiski izveidotu savienojumu ar lietojumprogrammas objektu, jums ir jāiestata lietojumprogrammas objekta mainīgā nosaukums. Sintakse ir
Iestatīt objectVariable kā CreateObject(“appName.Application”)
kur objectVariable ir tāds pats kā Dim priekšrakstā norādītais nosaukums , un appName ir lietojumprogrammas nosaukums. Atsaucoties uz iepriekšējiem Dim priekšrakstiem, Set priekšraksti, ko izmantojat katram definētajam objekta mainīgajam, ir šādi:
Iestatīt appExcel = CreateObject("Excel.Application")
Iestatīt appOutlook = CreateObject("Outlook.Application")
Iestatīt appPowerPoint = CreateObject("PowerPoint.Application")
Iestatīt appWord = CreateObject("Word.Application")
Katrai Office komplekta lietojumprogrammai ir savs objekta modelis ar saviem objektiem un rekvizītiem, taču pamatidejas ir vienādas neatkarīgi no tā, kuru programmu un objekta modeli izmantojat.