VBA CreateObject

CreateObject-Funktion in VBA

Objekte sind sehr wichtige Konzepte bei der VBA-Codierung und beim Verständnis, dass das Arbeitsmodell eines Objekts recht komplex ist. Wenn wir auf die Objekte in der VBA-Codierung verweisen, geschieht dies auf zwei Arten, nämlich "Frühbindung" und "Spätbindung". Bei der „frühen Bindung“ wird die Objektreferenz aus der Referenzbibliothek des VBA festgelegt. Wenn wir die Datei an eine andere Person senden, muss auch die Referenz auf die jeweiligen Objekte festgelegt werden. Für "Late Binding" muss der Benutzer jedoch keine Objektreferenzen festlegen, da wir bei der Late Binding-Codierung die Referenz auf das jeweilige Objekt mithilfe der VBA-Funktion "CreateObject" festlegen.

Was ist das CreateObject in Excel VBA?

"Objekt erstellen", wie der Name selbst sagt, erstellt das erwähnte Objekt aus dem Excel VBA. Die Funktion "Objekt erstellen" gibt also den Verweis auf ein Objekt zurück, das von einer ActiveX-Komponente initiiert wurde.

Unten finden Sie die Syntax der CreateObject-Funktion in VBA

  • Klasse: Der Name des Objekts, das wir initiieren und den Verweis auf die Variable festlegen möchten.
  • [Servername]: Dies ist ein optionaler Parameter. Wenn er ignoriert wird, wird nur der lokale Computer verwendet.

Beispiel für die Funktion zum Erstellen von Objekten in Excel VBA

Unten finden Sie Beispiele für VBA CreateObject.

Sie können diese VBA CreateObject Excel-Vorlage hier herunterladen - VBA CreateObject Excel-Vorlage

Beispiel 1

Jetzt werden wir sehen, wie Sie eine PowerPoint-Anwendung aus Excel mithilfe der CreateObject-Funktion in VBA initiieren. Öffnen Sie die Excel-Datei und rufen Sie das Visual Basic-Editorfenster auf, indem Sie die Taste ALT + F11 drücken.

Code:

 Sub CreateObject_Example1 () End Sub 

Deklarieren Sie die Variable als PowerPoint.Application.

Wie Sie oben sehen können, sehen wir zu Beginn der Eingabe des Wortes "PowerPoint" keine Intellisense-Liste mit den zugehörigen Suchvorgängen. Dies liegt daran, dass "PowerPoint" ein externes Objekt ist. Aber kein Grund zur Sorge: Deklarieren Sie die Variable als "Objekt".

Code:

 Sub CreateObject_Example1 () Dim PPT As Object End Sub 

Da wir die Variable als "Objekt" deklariert haben, müssen wir den Verweis auf das Objekt mit dem Schlüsselwort "Set" festlegen. Wenn Sie das Schlüsselwort "Set" eingeben, geben Sie die Variable an und setzen Sie ein Gleichheitszeichen.

Code:

 Sub CreateObject_Example1 () PPT als Objektmenge dimmen PPT = End Sub 

Öffnen Sie nun die CreateObject-Funktion.

Da wir das externe Objekt von "PowerPoint" für den Parameter "Klasse" der Funktion " Objekt erstellen " referenzieren, erwähnen Sie den Namen des externen Objekts in doppelten Anführungszeichen als "PowerPoint.Application".

Code:

 Sub CreateObject_Example1 () PPT als Objektmenge dimmen PPT = CreateObject ("PowerPoint.Application") End Sub 

Die Funktion "Objekt erstellen" initiiert jetzt die PowerPoint-Anwendung. Sobald das Objekt initiiert ist, müssen wir es mithilfe des Variablennamens sichtbar machen.

Eines der Probleme mit der Methode "Objekt erstellen" oder der Methode "Späte Bindung" besteht darin, dass die Intellisense-Liste zum Zeitpunkt nicht angezeigt wird. Sie müssen sich über den Code, den Sie schreiben, absolut sicher sein.

Verwenden Sie für die Variable "PPT" die Eigenschaft "Visible" und setzen Sie den Status auf "True".

Code:

 Sub CreateObject_Example1 () PPT als Objektmenge dimmen PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True End Sub 

Um PPT eine Folie hinzuzufügen, definieren Sie den folgenden VBA-Code.

Code:

 Sub CreateObject_Example1 () PPT als Objektmenge dimmen PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True PPT.Presentations.Add End Sub 

Führen Sie nun den Code manuell oder über die Taste F5 aus und sehen Sie, dass die Anwendung „PowerPoint“ geöffnet wird.

Sobald die PowerPoint-Anwendung mit der Variablen "PPT" aktiviert wurde, können wir auf die PowerPoint-Anwendung zugreifen.

Beispiel 2

Jetzt werden wir sehen, wie eine Excel-Anwendung mit der CreateObject-Funktion in VBA initiiert wird. Deklarieren Sie die Variable erneut als "Objekt".

Code:

 Sub CreateObject_Example2 () ExcelSheet als Objektende-Sub dimmen 

In dem Moment, in dem wir die Variable als Objekt deklarieren, führt dies zu einer späten Bindung und wir müssen das Schlüsselwort "Set" verwenden, um die Referenz für das erforderliche Objekt festzulegen.

Da wir in der Anwendung Excel auf das Excel-Arbeitsblatt verweisen, geben Sie "Excel.Sheet" in doppelte Anführungszeichen ein.

Code:

 Sub CreateObject_Example2 () ExcelSheet als Objektmenge dimmen ExcelSheet = CreateObject ("Excel.Sheet") End Sub 

Sobald die Referenz für das Excel-Blatt festgelegt ist, müssen wir es sichtbar machen, um es verwenden zu können. Dies ähnelt der Sichtbarkeit der PowerPoint-Anwendung.

Code:

 Sub CreateObject_Example2 () ExcelSheet als Objektmenge dimmen ExcelSheet = CreateObject ("Excel.Sheet") ExcelSheet.Application.Visible = True End Sub 

Jetzt wird das Excel-Arbeitsblatt aktiviert.

In ähnlicher Weise können wir den folgenden Code verwenden, um eine Excel-Arbeitsmappe von anderen Microsoft-Produkten aus zu initiieren.

Code:

 Sub CreateObject_Example3() Dim ExlWb As Object Set ExlWb = CreateObject("Excel.Application") ExlWb.Application.Visible = True End Sub 

Things to Remember About CreateObject in VBA

  • In VBA, the CreateObject function is used to reference objects.
  • Create Object function causes a late-binding process.
  • Using create object function we don’t get to access the intellisense list of VBA.