Visual Basic for Applications je objektovo orientovaný programovací jazyk. Základnou koncepciou objektovo orientovaného programovania je, že softvérová aplikácia (v tomto prípade Excel) pozostáva z rôznych jednotlivých objektov, z ktorých každý má svoju vlastnú sadu funkcií a použití.
Aplikácia Excel obsahuje bunky, pracovné hárky, grafy, kontingenčné tabuľky, kreslenie tvarov – zoznam objektov Excelu je zdanlivo nekonečný. Každý objekt má svoj vlastný súbor funkcií, ktoré sa nazývajú vlastnosti , a vlastný súbor použití, ktorý sa nazýva metódy .
Tento koncept si môžete predstaviť rovnako ako predmety, s ktorými sa stretávate každý deň, ako je váš počítač, auto alebo chladnička. Každý z týchto predmetov má identifikačné vlastnosti, ako je výška, váha a farba. Každý z nich má svoje vlastné odlišné využitie, napríklad prácu s Excelom, prepravu na veľké vzdialenosti alebo udržiavanie rýchlo sa kaziacich potravín v chlade.
Objekty VBA majú tiež identifikovateľné vlastnosti a spôsoby použitia. Bunka pracovného hárka je objekt a medzi jeho opísateľné vlastnosti (vlastnosti) patrí jeho adresa, výška a formátovaná farba výplne. Zošit je tiež objekt VBA a medzi jeho použiteľné funkcie (jeho metódy) patria možnosti otvárania, zatvárania a pridania grafu alebo kontingenčnej tabuľky.
V Exceli pracujete so zošitmi, pracovnými hárkami a rozsahmi na dennej báze. Pravdepodobne si myslíte, že každý z týchto objektov je súčasťou Excelu, v skutočnosti ich vo svojej mysli nerozdeľujete. Excel však o nich interne uvažuje ako o súčastiach hierarchického modelu nazývaného objektový model Excelu. Objektový model Excelu je jasne definovaný súbor objektov, ktoré sú štruktúrované podľa vzťahov medzi nimi.
Pochopenie predmetov
V skutočnom svete môžete všetko, čo vidíte, opísať ako objekt. Keď sa pozriete na svoj dom, je to objekt. Váš dom má izby; tieto izby sú tiež samostatné objekty. Tieto izby môžu mať skrine. Tieto skrine sú tiež predmety. Keď premýšľate o svojom dome, izbách a skriniach, môžete medzi nimi vidieť hierarchický vzťah. Excel funguje rovnakým spôsobom.
V Exceli je objekt Application všeobjímajúci objekt – podobný vášmu domu. V rámci objektu Application má Excel zošit. Vo vnútri zošita je pracovný list. Vnútri je to rozsah. To všetko sú objekty, ktoré žijú v hierarchickej štruktúre.
Ak chcete ukázať na konkrétny objekt vo VBA, môžete prejsť cez objektový model. Ak sa chcete napríklad dostať do bunky A1 na hárku 1, môžete zadať tento kód:
Aktívny zošit.Hárok("Hárok1").Rozsah("A1").Vybrať
Vo väčšine prípadov je hierarchia objektového modelu pochopená, takže nemusíte písať každú úroveň. Zadaním tohto kódu sa tiež dostanete do bunky A1, pretože Excel z toho vyvodzuje, že máte na mysli aktívny zošit a aktívny hárok:
Rozsah("A1").Vyberte
V skutočnosti, ak už máte kurzor v bunke A1, môžete jednoducho použiť objekt ActiveCell, čím sa vyhnete potrebe hláskovať rozsah:
Aktívna bunka.Vybrať
Pochopenie kolekcií
Mnohé objekty programu Excel patria do kolekcií , ktoré sú v podstate skupinami podobných objektov. Podobne sa váš dom nachádza vo štvrti, ktorá je súborom domov. Každá štvrť leží v zbierke štvrtí nazývaných mesto. Excel považuje kolekcie za samotné objekty.
V každom objekte Workbook máte kolekciu pracovných hárkov. Kolekcia pracovných hárkov je objekt, ktorý môžete vyvolať prostredníctvom VBA. Každý pracovný hárok v zošite sa nachádza v kolekcii Pracovné hárky.
Ak chcete odkazovať na pracovný hárok v kolekcii Pracovné hárky, môžete naň odkazovať podľa jeho pozície v kolekcii, ako indexové číslo začínajúce 1, alebo podľa jeho názvu ako citovaného textu. Ak spustíte nasledujúce dva riadky kódu v zošite, ktorý má iba jeden pracovný hárok s názvom MySheet, oba urobia to isté:
Pracovné hárky(1).Vyberte
Worksheets("MySheet").Vyberte
Ak máte v aktívnom zošite dva pracovné hárky s názvami MySheet a YourSheet, v uvedenom poradí môžete použiť druhý pracovný hárok zadaním niektorého z týchto príkazov:
Pracovné listy(2).Vyberte
Worksheets("YourSheet").Vyberte
Ak chcete odkazovať na pracovný hárok v zošite s názvom MySheet v konkrétnom zošite, ktorý nie je aktívny, musíte uviesť odkaz na pracovný hárok a odkaz na pracovný zošit takto:
Workbooks("MyData.xls").Worksheets("MySheet").Vyberte
Pochopenie vlastností
Vlastnosti sú v podstate vlastnosti objektu. Váš dom má farbu, plochu, vek atď. Niektoré vlastnosti, ako napríklad farba vášho domu, sa dajú zmeniť. Iné vlastnosti, ako napríklad rok postavenia vášho domu, nie je možné zmeniť.
Podobne aj objekt v Exceli, ako je objekt pracovného hárka, má vlastnosť názvu hárka, ktorú je možné zmeniť, a vlastnosť riadka Rows.Count, ktorá sa nedá zmeniť.
Na vlastnosť objektu odkazujete odkazom na objekt a potom na vlastnosť. Môžete napríklad zmeniť názov svojho pracovného hárka zmenou jeho vlastnosti Name.
V tomto príklade premenujete Hárok1 na MySheet:
Sheets("Sheet1").Name = "MySheet"
Niektoré vlastnosti sú len na čítanie, čo znamená, že im nemôžete priamo priradiť hodnotu. Príkladom vlastnosti len na čítanie je vlastnosť Text bunky, ktorá poskytuje formátovaný vzhľad hodnoty v bunke. Nemôžete ho prepísať ani zmeniť.
Pochopenie metód
Metódy sú akcie, ktoré možno vykonať proti objektu. Pomáha uvažovať o metódach ako o slovesách. Môžete napríklad maľovať svoj dom; vo VBA, to by sa mohlo preložiť do
dom.maľovať
Jednoduchým príkladom metódy Excelu je metóda Select objektu Range:
Rozsah("A1").Vyberte
Ďalšou je metóda Copy objektu Range:
Rozsah("A1").Kopírovať
Niektoré metódy majú parametre, ktoré môžu určovať, ako sa metódy použijú. Napríklad metódu Prilepiť možno efektívnejšie použiť explicitným definovaním parametra Destination:
ActiveSheet.Paste Destination:=Range("B1")