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 pochopení 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. „Předčasná vazba“ a „Pozdní vazba“. „Včasná vazba“ je proces nastavení odkazu 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 je 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.

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í. Je to 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 „Nastavit“ 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 nebudeme moci zobrazit seznam IntelliSense. Musíte si být naprosto jisti kódem, který píšete.

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

Kód:

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

Chcete-li do PPT přidat snímek, definujte níže uvedený kód VBA.

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, že 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. Ještě jednou deklarujte proměnnou jako „Objekt“.

Kód:

Sub CreateObject_Example2 () Dim ExcelSheet jako End End Sub

The moment we declare the variable as an object, it causes late binding, and we need to use the “Set” keyword to set the reference for the required object.

Since we are referencing to excel worksheet from the application excel, enter “Excel. Sheet” in double-quotes.

Code:

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

Once the reference for the excel sheet is set, we need to make it visible to use it. This is similar to how we made the PowerPoint application visible.

Code:

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

Now it will activate the excel worksheet.

Similarly, to initiate an excel workbook from other Microsoft products, we can use the below code.

Code:

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 create object se nedostaneme k přístupu k seznamu IntelliSense VBA.

Zajímavé články...