CreateObject in VBA - Wie verwende ich die CreateObject-Funktion in VBA?

Inhaltsverzeichnis

CreateObject-Funktion in VBA

Objekte sind sehr wichtige Konzepte in der VBA-Codierung und das 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 diese auch die Referenz auf die jeweiligen Objekte festlegen. 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 es 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.

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, wird beim Eingeben des Wortes "PowerPoint" keine IntelliSense-Liste mit den zugehörigen Suchvorgängen angezeigt. 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 mithilfe des Schlüsselworts "Set" festlegen. Erwähnen Sie durch Eingabe des Schlüsselworts "Set" die Variable und setzen Sie ein Gleichheitszeichen.

Code:

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

Öffnen Sie nun die CreateObject-Funktion.

Da wir für den Parameter "Klasse" der Funktion " Objekt erstellen " auf das externe Objekt von "PowerPoint" verweisen , 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 Create Object-Methode oder der Late Binding-Methode besteht darin, dass die IntelliSense-Liste zu diesem Zeitpunkt nicht angezeigt wird. Sie müssen absolut sicher sein, welchen Code Sie schreiben.

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, wie 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

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 () ExlWb als Objektmenge dimmen ExlWb = CreateObject ("Excel.Application") ExlWb.Application.Visible = True End Sub

Wichtige Informationen zu CreateObject in VBA

  • In VBA wird die CreateObject-Funktion zum Referenzieren von Objekten verwendet.
  • Die Funktion "Objekt erstellen" führt zu einem späten Bindungsprozess.
  • Mit der Funktion zum Erstellen von Objekten können wir nicht auf die IntelliSense-Liste von VBA zugreifen.

Interessante Beiträge...