Tento tutoriál vás naučí definovať objektové premenné pomocou príkazu Set vo VBA.
Definovanie premenných objektu
Objekty sú základným kameňom balíka Microsoft Office - bez objektov nemôžeme nič dosiahnuť. V programe Excel zahŕňajú objekty zošit, pracovný hárok alebo objekty rozsahu. V programe Microsoft Word sú príkladmi objekt Dokument alebo Tabuľka. Každý objekt má rôzne Vlastnosti a Metódy ktoré je možné naprogramovať tak, aby riadilo správanie tohto objektu.
Deklarácia premennej objektu
Predtým, ako budeme môcť odkazovať na objekt v kóde, a teda ovládať objekt, musíme objekt deklarovať. Môžeme to urobiť pomocou príkazu Dim.
123456 | Dim wkb ako zošitDim wks as worksheetDim Rng ako rozsahDim wdDoc ako dokumentDim wdTbl ako tabuľkuDim shp ako Shape |
Toto Dim vyhlásenie sa môže vyskytnúť v rámci postupu:
alebo mimo postupu na úrovni modulu:
Ak je premenná deklarovaná na úrovni modulu (mimo postupu), premennú je možné použiť v celom module.
Ak je premenná objektu deklarovaná príkazom Public, premennú je možné použiť v celom projekte VBA:
Nastaviť hodnotu
Keď ste objekt deklarovali, musíte mu priradiť hodnotu. To sa musí vykonať pomocou Nastaviť výpis a je možné vykonať iba v rámci a Postup.
12345 | SubsetObjects ()Nastaviť wkb = ActiveWorkbookNastaviť wks = list1Nastaviť rng = rozsah ("A1: G4")Koniec pod |
Poznámka: Toto sa líši od priraďovania hodnôt neobjektovým premenným. Na priradenie objektu k premennej MUSÍTE použiť príkaz Set. Ak to neurobíte, zobrazí sa chyba:
Keď k objektu priradíte hodnotu, môžete potom písať kód na ovládanie správania alebo manipuláciu s objektom.
Programovanie VBA | Generátor kódu pracuje za vás!
Objektové príklady v Exceli
Objekt zošita
Hneď ako deklarujete premennú zošita, môžete k tomuto objektu priradiť zošit a pomocou vlastností a metód dostupných na manipuláciu s týmto objektom. V nižšie uvedenom príklade uložíme zošit.
123456789101112 | Sub WorkbookObject ()'deklarujte objekt zošitaDim wkb ako zošit'Priraďte k objektu neuložený zošitNastaviť wkb = zošity ("Kniha1")'uložiť zošitwkb.SaveAs "C: \ data \ testbook.xlsx"„Zatvorte zošitwkb.close„Nezabudnite predmet uvoľniťNastaviť wkb = ničKoniec pod |
Objekt pracovného hárka
Podobne môžete manipulovať s pracovným listom alebo pracovnými listami, keď ste pracovný hárok deklarovali ako premennú. V nižšie uvedenom príklade premenujeme Sheet1 a Sheet2.
12345678910111213 | Sub WorksheetObject ()Dim wks1 ako pracovný listDim wks2 ako pracovný list'inicializujte objektyNastaviť wks1 = list1Nastaviť wks2 = list2“premenujte listywks1.Name = "Zákazníci"wks2.Name = "Produkty"'nastavte objekty na ničwks1 = Ničwks2 = NičKoniec pod |
Ste unavení z hľadania príkladov kódu VBA? Skúste AutoMacro!
Objekt dosahu
Objekt Rozsah je jedným z najužitočnejších objektov, s ktorými je možné v programe Excel manipulovať. V nižšie uvedenom príklade označíme rozsahy A1 až E1 tučným písmom a naformátujeme ho so spodným okrajom.
12345678910111213 | Sub RangeObject ()Dim rng1 As Range„zintenzívnite rozsahNastaviť rng = rozsah ("A1: E1")'zvýraznite rozsah a nastavte spodný okrajrng.Font.Bold = PravdaS rng1.Borders (xlEdgeBottom).LineStyle = xlSpojité.ColorIndex = 0.TintAndShade = 0.Váha = xlThinUkončiť sKoniec pod |
Objekt tvaru
Na prácu s tvarmi môžete použiť aj objektové premenné.
123456789101112 | Sub AddShape ()Dim shp As Shape„vytvorte tvarNastaviť shp = ActiveDocument.Shapes.AddShape (msoShapeSmileyFace, 68,25, 225,75, 136,5, 96#)S SHP„Zmeňte vnútornú farbu a štýl.Fill.ForeColor.RGB = RGB (255, 255, 0).Fill.Solid„uprav úsmev!.Úpravy. Položka (1) = 0,07181Ukončiť sKoniec pod |