VBA CreateObject (Vytvořit objekt)

Tento článek vám ukáže, jak používat metodu Create Object ve VBA.

VBA je objektově orientovaný jazyk - používá postupy k ovládání a vytváření objektů.

Vytvořit objekt

K vytvoření objektu v aplikaci Microsoft Office můžeme použít metodu Create Object. Pokud například píšeme kód VBA v Excelu a přejeme si otevřít kopii Wordu, můžeme k vytvoření nové instance Wordu použít metodu Create Object.

Například:

12345 Sub CreateWordInstance ()Dim wdApp jako objektNastavit wdApp = CreateObject ("Word.Application")wdApp.Visible = TrueEnd Sub

Podobně můžeme vytvořit novou instanci aplikace PowerPoint nebo Access.

12345 Dílčí CreatePowerPointApplicationDim ppApp jako objektNastavit ppApp = CreateObject ("PowerPoint.Application")ppApp.Visible = TrueEnd Sub

Můžeme také použít Create Object k vytváření jiných objektů než Application Application. Můžeme jej použít například k vytvoření listu aplikace Excel.

1234567 Dílčí CreateExcelSheet ()Dim xlSheet jako objektNastavit xlSheet = CreateObject ("Excel.Sheet")xlSheet.Application.Visible = TruexlSheet.Application.Range ("A2") = "Dobré ráno"Nastavit xlSheet = NicEnd Sub

To však ve skutečnosti vytvoří novou instanci aplikace Excel - nevytvoří list v instanci, která je již otevřená. Z tohoto důvodu musíme nastavit Aplikaci nového listu (tj.: Novou instanci Excelu) na Visible, aby byl objekt vidět.

Ve všech výše uvedených příkladech používáme pozdní vazbu - proto deklarujeme proměnné jako objekty. Můžeme také použít Early Binding tak, že v našem projektu VBA nastavíme odkaz na Word nebo PowerPoint a poté napíšeme dílčí postup, jak je uvedeno níže. Chcete -li se dozvědět více o vazbě Late and Early, klikněte sem.

Nejprve pro Early Binding, v rámci VBE, nastavíme odkaz na Microsoft Word.

V Jídelní lístek lišta, vyberte Nástroje> Reference a přejděte dolů a najděte odkaz na soubor Objektová knihovna Microsoft Word 16.0.

Ujistěte se, že je zaškrtnuta reference, a poté klikněte OK.

POZNÁMKA: Verze nemusí být 16.0, vše závisí na tom, jakou verzi sady Microsoft Office používáte na počítači!

Nyní deklarujeme Objekt pomocí Early Binding - to znamená, že místo deklarování wdApp jako Object deklarujeme jej jako Aplikace Word. Zbytek kódu je stejný, jako když jsme použili Pozdní vazbu výše.

12345 Sub CreateWordInstance ()Dim wdApp jako nové slovo. AplikaceNastavit wdApp = CreateObject ("Word.Application")wdApp.Visible = TrueEnd Sub

Vám pomůže rozvoji místa, sdílet stránku s přáteli

wave wave wave wave wave