„Visual Basic for Applications“ (VBA) nėra tik „Microsoft Access 2003“ programavimo kalba. Tai programavimo kalba, skirta visoms taikomosioms programoms, kurios palaiko automatizavimą. Automatizavimas (su didžiąja raide A ) reiškia galimybę programa manipuliuoti programiškai arba valdyti automatiškai naudojant programavimo kalbą, pvz., VBA. Visos pagrindinės „Microsoft Office“ programos, įskaitant „Microsoft Access“, „Microsoft Excel“, „Microsoft Outlook“, „Microsoft PowerPoint“ ir „Microsoft Word“, palaiko automatizavimą. Galite parašyti kodą, kad automatiškai bendrintumėte duomenis.
Sąvokos „ Component Object Model“ ( COM ) ir OLE automatizavimas yra senesnės sąvokos, apibūdinančios tai, kas šiuo metu vadinama automatizavimu (bet iš esmės yra sinonimai).
Prieš pradėdami rašyti kodą
Prieš keisdami duomenis tarp „Access“ ir kitų „Microsoft Office Suite“ programų, atminkite, kad norint atlikti darbą retai reikia rašyti kodą. Galite daug importuoti ir eksportuoti duomenis iš vienos Microsoft Office programos į kitą neįrašydami jokio kodo. Pavyzdžiui, galite atlikti šiuos veiksmus:
- Importuokite ir eksportuokite duomenis naudodami meniu Access File parinktis.
- El. paštas Pasiekite objektus, pvz., ataskaitas, pasirinkdami Siųsti –> Pašto gavėjas.
- Norėdami siųsti objektus į kitas programas, naudokite „OfficeLinks“ funkciją.
- Norėdami kopijuoti ir susieti duomenis tarp programų, naudokite pagrindinius „Windows“ iškirpimo ir įklijavimo metodus ir OLE (Object Linking and Embedding).
- Sujunkite duomenis iš „Access“ lentelių su „Microsoft Word“ raidėmis, etiketėmis, vokais ar kitomis ataskaitomis naudodami „Word“ laiškų suliejimo funkciją. (Ieškokite „Word“ žinyno, kad galėtumėte sujungti. )
Jei tik norite gauti duomenis iš Access į kitą programą (arba atvirkščiai), kodo rašymas tikriausiai nėra pats lengviausias būdas. Bet kuris iš ankstesnių metodų yra lengvesnis nei parašyti pasirinktinį VBA kodą, kad atliktumėte darbą.
Žinoma, kartą išgirdę mėlyną mėnulį, susidursite su situacija, kai VBA kodo rašymas yra vienintelis, o gal tiesiog geriausias būdas atlikti darbą. Šiame straipsnyje pateikiamos kelios pagrindinės sąvokos, kurias norėsite suprasti.
Įkeliami atitinkami objektų modeliai
„Access“ objekto modelis suteikia galimybę nurodyti objektus pagal pavadinimą, kad galėtumėte manipuliuoti tais objektais naudodami VBA kodą. Kiekviena „Office“ taikomoji programa, kuri veikia VBA, turi objekto modelį, kaip ir „Access“. Kai bus pasiekiama taikomosios programos objektų biblioteka, galite naudoti VBA tai programai valdyti.
Objektas modelis apibrėžia pavardes ir organizavimas objektų taikymo. Objektų biblioteka yra tikrasis failas, saugomas standžiajame diske ir apibrėžiantis tą konceptualų objekto modelį.
Prieš rašydami kodą išorinei programai valdyti iš Access, turite įkelti atitinkamą objektų biblioteką į Access dialogo langą Nuorodos. Atlikite šiuos veiksmus:
1. Įsitikinkite, kad esate „Visual Basic“ rengyklėje.
Paspauskite Alt + F11, jei esate Access programos lange.
2. Visual Basic redaktoriaus meniu pasirinkite Tools –> References.
Atsidaro dialogo langas Nuorodos.
3. Slinkite per sąrašą Galimos nuorodos ir pasirinkite norimų valdyti programų objektų bibliotekas.
1 paveiksle pasirinktos objektų bibliotekos skirtos „Access“, „Excel“, „Outlook“, „PowerPoint“ ir „Word“ (be kitų).
1 pav. Dialogo lange Nuorodos pasirinktos kelios objektų bibliotekos.
4. Spustelėkite Gerai.
Bus atidarytos visos pasirinktos objektų bibliotekos ir nuo šio momento turėsite prieigą prie visų jų objektų modelių.
Objektų bibliotekų iškrovimas
Įkelti daugiau nei reikia objektų bibliotekų yra švaistoma, nes VBA programos veikia lėčiau. Realiame gyvenime retai reikia pasirinkti visas turimas objektų bibliotekas (žr. 1 pav.), nebent tikrai ketinote sąveikauti su visomis tomis programomis iš dabartinės duomenų bazės.
Galite iškrauti bibliotekas taip pat lengvai, kaip jas įkeliate. Atidarykite dialogo langą Nuorodos ir išvalykite varnelę prie bet kurios objektų bibliotekos, kurios tikrai neketinate naudoti.
Programos objekto modelio tyrinėjimas
Objektų naršyklė Visual Basic redaktoriuje suteikia prieigą prie visų objektų modelių, šiuo metu pasirinktų dialogo lange Nuorodos. Kiekviename įkeltame objekto modelyje yra daug objektų, klasių, savybių ir pan. Tačiau automatizavimo atveju daugiausia norite pažvelgti į kiekvienos programos programos objektą. Pavyzdžiui, Access Application Object suteikia prieigą prie kitų programų, palaikančių automatizavimą. „Excel“ programos objektas (esantis „Excel“ objektų bibliotekoje) suteikia „Excel“ kitoms automatizavimo programoms ir pan.
Norėdami atidaryti objektų naršyklę VBA redaktoriuje, pasirinkite View –> Object Browser arba paspauskite F2. Norėdami gauti pagalbos dėl objekto objektų naršyklėje, spustelėkite jo pavadinimą, tada spustelėkite mygtuką Žinynas (?) objektų naršyklės įrankių juostoje.
Objektų naršyklėje pasirinkę projektą / biblioteką ir slinkę žemyn sąrašu Classes kairiajame stulpelyje, pamatysite keletą taikomųjų programų objektų. Spustelėjus vieną iš Programos objektų, programos pavadinimas pasirodo apačioje šalia dialogo lango apačios. To programos objekto nariai rodomi srityje dešinėje, kaip parodyta 2 paveiksle.
2 pav . Objektų naršyklė pridėjus kelias objektų bibliotekas.
Nuorodų į kitas programas nustatymas
Kai objektų modeliai įkelti, esate pasirengę pradėti kurti nuorodas į galimas programas VBA kode. Pirmasis žingsnis yra naudoti Dim sakinį, kad sukurtumėte objekto kintamąjį, nurodantį programą, prie kurios norite prisijungti, naudojant šią sintaksę:
Pritemdyti anyName Kaip [Nauja] programa.Programa
Sintaksėje anyName yra bet koks jums patinkantis pavadinimas, kuris turi būti naudojamas jūsų kode norint nurodyti programą. Programa argumentas yra oficialus pavadinimas automatizavimo programa. Naujas raktinis žodis yra neprivalomas. Jei įtrauktas, naujas raktinis žodis atidaro programos kopiją fone (nebūtinai matoma ekrane) prieš paleidžiant kodą.
Kai kurie „Dim“ teiginių pavyzdžiai yra šie:
Pritemdykite programąExcel kaip naują Excel.Programą
Pritemdykite programąOutlook kaip naują Outlook.Programą
Pritemdykite programąPowerPoint kaip naują PowerPoint.Programą
Pritemdykite programąWord kaip naują žodį.Programa
Dim teiginys galioja tik tada, kai įkeliama atitinkama objektų biblioteka. Pavyzdžiui, „Dim appWord As New Word.Application“ sakinys nepavyksta, jei dialogo lange Nuorodos nepasirinkta „Microsoft Word“ objektų biblioteka.
Dim teiginiai tik sukuria objekto kintamuosius, kurie nurodo programą iš jūsų kodo. Norėdami iš tikrųjų užmegzti ryšį su programos objektu, turite nustatyti programos objekto kintamojo pavadinimą. Sintaksė yra
Nustatyti objekto kintamąjį kaip CreateObject (programos pavadinimas. programa)
kur objectVariable yra toks pat kaip pavadinimas, kurį nurodėte Dim sakinyje, o appName yra taikomosios programos pavadinimas. Atsižvelgiant į ankstesnius Dim sakinius, Set sakiniai, kuriuos naudojate kiekvienam apibrėžtam objekto kintamajam, yra šie:
Nustatyti appExcel = CreateObject("Excel.Application")
Nustatyti appOutlook = CreateObject("Outlook.Application")
Nustatyti appPowerPoint = CreateObject("PowerPoint.Application")
Nustatyti appWord = CreateObject("Word.Application")
Kiekviena „Office“ rinkinio programa turi savo objekto modelį su savo objektais ir savybėmis, tačiau pagrindinės idėjos yra tos pačios, nepaisant to, kurią programą ir objekto modelį naudojate.