Objekty aplikace Excel VBA odkazují na jednotlivé „entity“ tvořené kódem a daty. Samotná aplikace Excel je objekt, stejně jako sešity, pracovní listy, rozsahy buněk a tvary. Každý objekt má přidružené vlastnosti a metody. Objekty mohou také obsahovat jiné objekty a objekt sbírek slouží ke odkazování na skupinu stejných objektů aplikace Excel.
V tomto kurzu se podíváme na některé běžně používané objekty aplikace Excel.
Objekt aplikace
Objekt aplikace odkazuje na celou aplikaci Excel. Objekt Application obsahuje objekt sešitu.
Následující kód používá vlastnost WindowState objektu Application k nastavení okna aplikace Excel na maximální dostupnou velikost:
12345 | Dílčí maximalizaceTheExcelWindow ()Application.WindowState = xlMaximizedEnd Sub |
Objekt sešitů
Objekt Sešity odkazuje na kolekci všech aktuálně otevřených excelových sešitů.
Následující kód používá metodu Workbooks.Add k vytvoření nového sešitu a přidání do kolekce:
12345 | Přidání dílčího díluSešity. PřidatEnd Sub |
K jednotlivému sešitu v kolekci Sešity můžete přistupovat prostřednictvím jeho indexového čísla nebo názvu. Můžete tedy použít sešit nazvaný ExcelWb pomocí sešitů („ExcelWB“).
Objekt sešitu
Objekt sešitu je součástí kolekce Sešity. Objekt sešitu obsahuje kolekci listů (pracovní listy) a kolekci listů (pracovní listy, grafy a makra). Objekt ActiveWorkbook odkazuje na aktivní sešit.
Následující kód používá k uložení aktuálního aktivního sešitu metodu ActiveWorkbook.Save:
12345 | Dílčí uložení pracovní knihy ()ActiveWorkbook.SaveEnd Sub |
Listy Objekt
Objekt listy odkazuje na shromažďování všech listů, listů grafů a maker v sešitu. Následující kód používá Sheets.Add metodu k přidání nového listu s názvem ExtraSheet po posledním listu v sešitu:
123456 | SubAddingANewSheet ()ActiveWorkbook.Sheets.Add (Po: = ActiveWorkbook.Worksheets (Worksheets.Count), počet: = 1, _Typ: = xlWorksheet) .Name = "ExtraSheet"End Sub |
Všimněte si syntaxe metody Sheets.Add je:
Sheets.Add (Před, Po, Počet, Typ) kde:
-Before je volitelný a určuje, že nový list by měl být přidán před existující list.
-After je volitelný a určuje, že nový list by měl být přidán za existující list.
-Count je volitelný a určuje počet listů, které se mají přidat.
-Typ je volitelný a určuje typ listu. xlWorksheet by přidal nový list, xlChart by přidal nový list s grafem a xlExcel4MacroSheet nebo xlExcel4IntlMacroSheet by přidal nový makro list. Pokud je prázdné, použije se výchozí xlWorksheet.
K jednotlivému listu v kolekci Listů můžete přistupovat prostřednictvím jeho indexového čísla nebo názvu. Můžete se tedy podívat na pracovní list s názvem SheetOne pomocí Tabulek („SheetOne“).
Pracovní listy Objekt
Objekt Listy odkazuje na shromažďování všech listů v sešitu. Následující kód používá k přidání nového listu metodu Worksheets.Add:
12345 | SubAddingANewSheet ()Pracovní listy.PřidatEnd Sub |
K jednotlivému listu v kolekci pracovních listů můžete přistupovat prostřednictvím jeho indexového čísla nebo názvu. Můžete se tedy podívat na pracovní list s názvem SheetTwo pomocí pracovních listů („SheetTwo“).
Objekt listu
Objekt listu je součástí kolekce Listy. Objekt listu obsahuje objekt rozsahu a další objekty. Objekt ActiveSheet odkazuje na list, který je aktivní.
Následující kód mění orientaci stránky aktivního listu na šířku:
12345 | Dílčí změnaOrientationToLandscape ()ActiveSheet.PageSetup.Orientation = xlLandscapeEnd Sub |
Objekt Sheet obsahuje objekt PageSetup a jeho orientační vlastnost je nastavena na xlLandscape.
Objekt rozsahu
Objekt Range může odkazovat na jednu buňku nebo sadu buněk v listu. Následující kód ukazuje, jak použít metodu Range.Select k výběru buněk A1: B1:
12345 | Dílčí výběr ARange ()Rozsah („A1: B1“). VyberteEnd Sub |
Tvary Objekt
Objekt Shapes odkazuje na shromažďování všech tvarů v listu. Následující kód by vybral všechny tvary na ActiveSheet:
12345 | Dílčí výběr AllTheShapes ()ActiveSheet.Shapes.SelectAllEnd Sub |
Objekt tvaru
Objekt Shape je součástí kolekce Shapes. Následující kód by vytvořil zaoblený obdélníkový tvar a poté nastavil vlastnost name objektu shape:
123456789 | Sub UsingTheShapeObject ()S pracovními listy (1) .Shapes.AddShape (msoShapeRoundedRectangle, _200, 100, 80, 80).Name = "Zaoblený obdélník"Konec sEnd Sub |
Objektový model Excel VBA
Objektový model VBA aplikace Excel popisuje hierarchii všech objektů, které můžete v Excelu použít. Objekt Sešity můžete například použít k nepřímému nebo přímému odkazování na všechny ostatní objekty. Následující kód ukazuje, jak vybrat buňku A1 pomocí hierarchické struktury:
12345 | Dílčí používáníTheHierachicalStructure ()Sešity („Kniha1“). Pracovní listy („List1“). Rozsah („A1“). VyberteEnd Sub |
Deklarace a přiřazení proměnné objektu
Objekt můžete deklarovat a přiřadit proměnné pomocí klíčových slov Dim a Set.
Například:
12 | Dim ws jako listNastavit ws = ActiveWorkbook.ActiveSheet |
Následující kód ukazuje, jak deklarovat a přiřadit objekt Range proměnné:
12345678910111213141516 | Sub AssigningARangeToAVariable ()Dim rngOne jako objektNastavit rngOne = rozsah ("A1: C1")rngOne.Font.Bold = TrueS rngOne.Font.Bold = True.Font.Name = "Calibri".Font.Size = 9.Font.Color = RGB (35, 78, 125).Interior.Color = RGB (205, 224, 180).Borders (xlEdgeBottom) .LineStyle = xlContinuousKonec sEnd Sub |
Výsledek je:
Je důležité pochopit, jak objekty fungují pro zvládnutí VBA. Můžete se dozvědět více s naším Interaktivním výukovým programem VBA.