Visual Basic for Applications (VBA) nie je programovací jazyk len pre Microsoft Access 2003. Je to programovací jazyk pre všetky aplikačné programy, ktoré podporujú automatizáciu. Automatizácia (s veľkým A ) sa týka schopnosti programu manipulovať programovo alebo ho ovládať automaticky pomocou programovacieho jazyka, ako je VBA. Všetky hlavné aplikácie v balíku Microsoft Office vrátane Microsoft Access, Microsoft Excel, Microsoft Outlook, Microsoft PowerPoint a Microsoft Word podporujú automatizáciu. Môžete napísať kód na automatické zdieľanie údajov medzi nimi.
Termíny Component Object Model ( COM ) a OLE automatizácia sú staršie termíny (ale sú v podstate synonymom) toho, čo sa v súčasnosti nazýva automatizácia.
Skôr ako začnete písať kód
Pred výmenou údajov medzi Accessom a inými programami v balíku Microsoft Office Suite si uvedomte, že napísanie kódu na vykonanie úlohy sa vyžaduje len zriedka. Môžete vykonávať množstvo importu a exportu údajov medzi aplikáciami balíka Microsoft Office bez toho, aby ste museli písať akýkoľvek kód. Môžete napríklad vykonať nasledujúce akcie:
- Importujte a exportujte údaje pomocou možností v ponuke Prístupový súbor.
- E-mail Prístup k objektom, ako sú správy, výberom položky Odoslať –> Príjemca pošty.
- Na odosielanie objektov do iných programov použite funkciu OfficeLinks.
- Na kopírovanie a prepojenie údajov medzi programami používajte základné techniky vystrihovania a vkladania vo Windowse a OLE (prepájanie a vkladanie objektov).
- Zlúčte údaje z tabuliek programu Access do písmen, štítkov, obálok alebo iných zostáv programu Microsoft Word pomocou funkcie hromadnej korešpondencie programu Word. (Vyhľadajte zlúčenie v systéme pomocníka programu Word . )
Ak sa len snažíte získať údaje z Accessu do iného programu (alebo naopak), písanie kódu pravdepodobne nie je najjednoduchší prístup. Ktorýkoľvek z predchádzajúcich prístupov je na vykonanie úlohy jednoduchší ako písanie vlastného kódu VBA.
Samozrejme, raz v povestnom modrom mesiaci sa ocitnete v situácii, keď je písanie kódu VBA jediným alebo možno len najlepším spôsobom, ako dokončiť prácu. Tento článok vám ukáže niekoľko základných pojmov, ktorým budete chcieť porozumieť.
Načítanie vhodných modelov objektov
Objektový model Accessu poskytuje prostriedky odkazovania na objekty podľa názvu, aby ste s týmito objektmi mohli manipulovať pomocou kódu VBA. Každý aplikačný program balíka Office, ktorý sa vystavuje VBA, má objektový model, rovnako ako Access. Keď bude k dispozícii knižnica objektov aplikačného programu, môžete túto aplikáciu ovládať pomocou VBA.
Objektový model určuje názvy a organizáciu objektov v aplikácii. Objektová knižnica je skutočný súbor, ktorý je uložený na vašom pevnom disku a definuje tento koncepčný objektový model.
Pred napísaním kódu na ovládanie externej aplikácie z Accessu musíte načítať príslušnú knižnicu objektov do dialógového okna Referencie v Accesse. Nasleduj tieto kroky:
1. Uistite sa, že ste v editore jazyka Visual Basic.
Ak ste v okne programu Access, stlačte Alt+F11.
2. Vyberte Tools –> References z menu Visual Basic Editor.
Otvorí sa dialógové okno Referencie.
3. Prejdite zoznamom Dostupné referencie a vyberte knižnice objektov pre programy, ktoré chcete ovládať.
Na obrázku 1 sú vybraté knižnice objektov pre Access, Excel, Outlook, PowerPoint a Word (okrem iného).
Obrázok 1: Niekoľko knižníc objektov vybratých v dialógovom okne Referencie.
4. Kliknite na tlačidlo OK.
Otvoria sa všetky vybraté knižnice objektov a od tohto bodu budete mať prístup ku všetkým ich modelom objektov.
Vykladanie knižníc objektov
Načítanie väčšieho počtu knižníc objektov, ako je potrebné, je zbytočné, pretože programy VBA bežia pomalšie. V skutočnom živote len zriedka potrebujete vybrať všetky dostupné knižnice objektov (pozri obrázok 1), pokiaľ ste skutočne nezamýšľali interagovať so všetkými týmito programami z aktuálnej databázy.
Knižnice môžete uvoľniť tak ľahko, ako ich načítate. Otvorte dialógové okno Referencie a zrušte začiarknutie vedľa ľubovoľnej knižnice objektov, ktorú v skutočnosti neplánujete použiť.
Skúmanie objektového modelu programu
Prehliadač objektov v editore jazyka Visual Basic poskytuje prístup ku všetkým modelom objektov aktuálne vybratým v dialógovom okne Referencie. Každý načítaný objektový model obsahuje veľa objektov, tried, vlastností a podobne. Ale pre automatizáciu sa chcete hlavne pozrieť na aplikačný objekt každého programu. Napríklad objekt Access Application Object sprístupňuje Access iným programom, ktoré podporujú automatizáciu. Objekt aplikácie Excel (obsiahnutý v knižnici objektov Excelu) vystavuje Excel iným automatizačným programom atď.
Ak chcete otvoriť Prehliadač objektov v editore VBA, vyberte Zobraziť –> Prehliadač objektov alebo stlačte F2. Ak chcete získať pomoc s položkou v prehliadači objektov, kliknite na jej názov a potom kliknite na tlačidlo Pomocník (?) na paneli s nástrojmi prehliadača objektov.
Keď si vyberiete zo zoznamu Projekt/Knižnica v prehliadači objektov a rolujete nadol v zozname Triedy v ľavom stĺpci, uvidíte niekoľko objektov aplikácie. Keď kliknete na jeden z objektov aplikácie, v spodnej časti dialógového okna sa zobrazí názov aplikácie. Členovia tohto aplikačného objektu sa zobrazia na table vpravo, ako je znázornené na obrázku 2.
Obrázok 2: Prehliadač objektov po pridaní viacerých knižníc objektov.
Nastavenie odkazov na iné programy
S načítanými objektovými modelmi ste pripravení začať nastavovať odkazy na dostupné programy v kóde VBA. Prvým krokom je použitie príkazu Dim na vytvorenie objektovej premennej, ktorá odkazuje na aplikáciu, ku ktorej sa chcete pripojiť, pomocou nasledujúcej syntaxe:
Dim anyName As [New] program.Application
V syntaxi je anyName akékoľvek meno, ktoré sa vám páči, ktoré sa má použiť vo vašom kóde na odkazovanie na aplikáciu. Argument programu je oficiálny názov programu Automation. Nové kľúčové slovo je voliteľné. Ak je zahrnuté, kľúčové slovo New otvorí kópiu aplikácie na pozadí (nemusí byť viditeľná na obrazovke) pred spustením kódu.
Niektoré príklady príkazov Dim sú nasledujúce:
Stlmiť aplikáciuExcel ako nový Excel.Aplikácia
Stlmiť aplikáciuOutlook ako nový Outlook.Aplikácia
Stlmiť appPowerPoint ako nový PowerPoint.Aplikácia
Stlmiť appWord ako nové slovo.Aplikácia
Príkaz Dim je platný len vtedy, ak je načítaná príslušná knižnica objektov. Napríklad príkaz Dim appWord As New Word.Application zlyhá, ak knižnica objektov pre Microsoft Word nie je vybratá v dialógovom okne Referencie.
Príkazy Dim iba vytvárajú premenné objektu, ktoré odkazujú na aplikáciu z vášho kódu. Ak chcete skutočne vytvoriť pripojenie k objektu Application aplikácie, musíte pre aplikáciu nastaviť názov premennej objektu. Syntax je
Nastaviť objectVariable As CreateObject(“appName.Application”)
kde objectVariable je rovnaký ako názov, ktorý ste zadali v príkaze Dim, a appName je názov aplikačného programu. Pokiaľ ide o predchádzajúce príkazy Dim, príkazy Set, ktoré používate pre každú definovanú premennú objektu, sú nasledovné:
Nastaviť appExcel = CreateObject(“Excel.Application”)
Nastaviť appOutlook = CreateObject(“Outlook.Application”)
Nastaviť appPowerPoint = CreateObject(“PowerPoint.Application”)
Nastaviť appWord = CreateObject(“Word.Application”)
Každá aplikácia v balíku Office má svoj vlastný objektový model s vlastnými objektmi a vlastnosťami, ale základné myšlienky sú rovnaké bez ohľadu na to, ktorý program a objektový model používate.