CreateObject ve VBA | Jak používat funkci CreateObject ve VBA?

Funkce CreateObject ve VBA

Objekty jsou velmi důležité pojmy v kódování VBA a chápání toho, že pracovní model objektu je poměrně složitý. Když odkazujeme na objekty v kódování VBA, uděláme to dvěma způsoby, tj. „Early Binding“ a „Late Binding“. „Včasná vazba“ je proces nastavování reference na objekt z knihovny referencí VBA a když pošleme soubor někomu jinému, musí také nastavit odkaz na tyto příslušné objekty. „Pozdní vazba“ však nevyžaduje, aby uživatel nastavoval jakékoli odkazy na objekty, protože v kódování pozdní vazby jsme nastavili odkaz na příslušný objekt pomocí funkce „CreateObject“ VBA.

Co je CreateObject v aplikaci Excel VBA?

„Vytvořit objekt“, jak již název napovídá, vytvoří uvedený objekt z aplikace Excel VBA. Funkce Create Object tedy vrací odkaz na objekt iniciovaný komponentou Active X.

Níže je syntaxe funkce CreateObject ve VBA

  • Třída: Název objektu, který se pokoušíme iniciovat a nastavit odkaz na proměnnou.
  • [Název serveru]: Toto je volitelný parametr, pokud bude ignorován, použije pouze místní počítač.

Příklad funkce vytvoření objektu v aplikaci Excel VBA

Níže jsou uvedeny příklady VBA CreateObject.

Tuto šablonu Excel VBA CreateObject Excel si můžete stáhnout zde - Šablona VBA CreateObject Excel

Příklad č. 1

Nyní uvidíme, jak spustit aplikaci PowerPoint z aplikace Excel pomocí funkce CreateObject ve VBA. Otevřete soubor aplikace Excel a přejděte do okna editoru jazyka stisknutím klávesy ALT + F11 .

Kód:

 Sub CreateObject_Example1 () End Sub 

Deklarujte proměnnou jako PowerPoint.Application.

Jak vidíte výše, když začneme psát slovo „PowerPoint“, nevidíme žádný seznam intellisense zobrazující související vyhledávání, protože „PowerPoint“ je externí objekt. Ale není třeba se obávat deklarovat proměnnou jako „Objekt“.

Kód:

 Sub CreateObject_Example1 () Dim PPT jako End End Sub 

Protože jsme proměnnou deklarovali jako „Objekt“, musíme nastavit odkaz na objekt pomocí klíčového slova „Nastavit“. Zadáním klíčového slova „Set“ uveďte proměnnou a znaménko rovná se.

Kód:

 Sub CreateObject_Example1 () Dim PPT as Object Set PPT = End Sub 

Nyní otevřete funkci CreateObject.

Jelikož odkazujeme na externí objekt aplikace „PowerPoint“ pro parametr „Třída“ funkce Vytvořit objekt, uveďte název externího objektu v uvozovkách ve čtyřhře jako „PowerPoint.Application“.

Kód:

 Sub CreateObject_Example1 () Dim PPT as Object Set PPT = CreateObject ("PowerPoint.Application") End Sub 

Nyní funkce Vytvořit objekt zahájí aplikaci PowerPoint. Jakmile je objekt spuštěn, musíme jej zviditelnit pomocí názvu proměnné.

Jedním z problémů s metodou Vytvořit objekt nebo metodou pozdní vazby je, že v daném okamžiku nevidíme seznam intellisense, musíte si být naprosto jisti kódem, který píšete.

U proměnné „PPT“ použijte vlastnost „Visible“ a stav nastavte na „True“.

Kód:

 Sub CreateObject_Example1 () Dim PPT as Object Set PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True End Sub 

Chcete-li přidat snímek do PPT, definujte kód VBA pod řádkem.

Kód:

 Sub CreateObject_Example1 () Dim PPT as Object Set PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True PPT.Presentations.Add End Sub 

Nyní proveďte kód ručně nebo pomocí klávesy F5 a podívejte se, jak se otevře aplikace „PowerPoint“.

Jakmile je aplikace PowerPoint povolena pomocí proměnné „PPT“, můžeme začít přistupovat k aplikaci PowerPoint.

Příklad č. 2

Nyní uvidíme, jak zahájit aplikaci Excel pomocí funkce CreateObject ve VBA. Proměnnou opět deklarujte „Objekt“.

Kód:

 Sub CreateObject_Example2 () Dim ExcelSheet jako End End Sub 

V okamžiku, kdy deklarujeme proměnnou jako objekt, způsobí pozdní vazbu a musíme použít klíčové slovo „Nastavit“ k nastavení reference pro požadovaný objekt.

Protože odkazujeme na list aplikace Excel z aplikace Excel, zadejte „Excel.Sheet“ v uvozovkách.

Kód:

 Sub CreateObject_Example2 () Dim ExcelSheet as Object Set ExcelSheet = CreateObject ("Excel.Sheet") End Sub 

Jakmile je nastaven odkaz na list aplikace Excel, musíme jej zviditelnit, aby jej bylo možné použít. To je podobné tomu, jak jsme zviditelnili aplikaci PowerPoint.

Kód:

 Sub CreateObject_Example2 () Dim ExcelSheet as Object Set ExcelSheet = CreateObject ("Excel.Sheet") ExcelSheet.Application.Visible = True End Sub 

Nyní aktivuje list aplikace Excel.

Podobně k zahájení excelového sešitu z jiných produktů společnosti Microsoft můžeme použít následující kód.

Kód:

 Sub CreateObject_Example3 () Dim ExlWb jako sada objektů ExlWb = CreateObject ("Excel.Application") ExlWb.Application.Visible = True End Sub 

Důležité informace o CreateObject ve VBA

  • Ve VBA se funkce CreateObject používá k odkazování na objekty.
  • Funkce Vytvořit objekt způsobí proces pozdní vazby.
  • Pomocí funkce vytvoření objektu se nedostaneme k seznamu intellisense VBA.