CreateObject in VBA - Hoe gebruik je de functie CreateObject in VBA?

CreateObject-functie in VBA

Objecten zijn zeer belangrijke concepten bij VBA-codering, en begrijpen dat het werkmodel van een object vrij complex is. Wanneer we naar de objecten verwijzen in VBA-codering, doen we dat op twee manieren, namelijk "Early Binding" en "Late Binding." "Early Binding" is het proces waarbij de objectreferentie wordt ingesteld vanuit de referentiebibliotheek van de VBA, en wanneer we het bestand naar iemand anders sturen, moeten ze ook de referentie naar die respectieve objecten instellen. Bij "Late binding" hoeft de gebruiker echter geen objectreferenties in te stellen, omdat we bij late binding-codering de referentie naar het respectieve object instellen met behulp van de VBA "CreateObject" -functie.

Wat is het CreateObject in Excel VBA?

"Create Object", zoals de naam zelf zegt, het zal het genoemde object creëren vanuit de Excel VBA. De functie Create Object retourneert dus de verwijzing naar een object dat is geïnitieerd door een Active X-component.

Hieronder staat de syntaxis van de CreateObject-functie in VBA

  • Klasse: de naam van het object dat we proberen te starten en stelt de verwijzing naar de variabele in.
  • (Servernaam): Dit is een optionele parameter; indien genegeerd, zal het alleen de lokale machine gebruiken.

Voorbeeld van Create Object Function in Excel VBA

Hieronder staan ​​de voorbeelden van VBA CreateObject.

Voorbeeld 1

Nu zullen we zien hoe u een PowerPoint-applicatie vanuit Excel kunt starten met de CreateObject-functie in VBA. Open het Excel-bestand en ga naar het Visual Basic Editor-venster door op ALT + F11 te drukken.

Code:

Sub CreateObject_Example1 () End Sub

Declareer de variabele als PowerPoint.Application.

Zoals u hierboven kunt zien, zien we, wanneer we het woord 'PowerPoint' beginnen te typen, geen IntelliSense-lijst met de gerelateerde zoekopdrachten. Dit komt doordat "PowerPoint" een extern object is. Maar niets om u zorgen over te maken, declareer de variabele als 'Object'.

Code:

Sub CreateObject_Example1 () Dim PPT As Object End Sub

Aangezien we de variabele als "Object" hebben gedeclareerd, moeten we de verwijzing naar het object instellen met behulp van het sleutelwoord "Set". Door het sleutelwoord "Set" in te voeren, vermeld je de variabele en plaats je een gelijkteken.

Code:

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

Open nu de CreateObject-functie.

Aangezien we verwijzen naar het externe object van "PowerPoint" voor de "Klasse" -parameter van de functie Object maken, moet u de naam van het externe object tussen dubbele aanhalingstekens vermelden als "PowerPoint.Application".

Code:

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

De functie Create Object zal de PowerPoint-applicatie starten. Zodra het object is geïnitieerd, moeten we het zichtbaar maken door de variabelenaam te gebruiken.

Een van de problemen met de Create Object-methode of late binding-methode is dat we de IntelliSense-lijst op dit moment niet te zien krijgen. U moet absoluut zeker zijn van de code die u schrijft.

Gebruik voor de variabele 'PPT' de eigenschap 'Visible' en stel de status in op 'True'.

Code:

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

Om een ​​dia aan PPT toe te voegen, definieert u de onderstaande VBA-code.

Code:

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

Voer nu de code handmatig uit of via de F5-toets en zie dat de "PowerPoint" -toepassing wordt geopend.

Zodra de PowerPoint-applicatie is ingeschakeld met behulp van de variabele "PPT", kunnen we beginnen met het openen van de PowerPoint-applicatie.

Voorbeeld 2

Nu zullen we zien hoe u een Excel-toepassing kunt starten met behulp van de CreateObject-functie in VBA. Declareer de variabele nogmaals als 'Object'.

Code:

Sub CreateObject_Example2 () Dim ExcelSheet As Object 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 As Object Set ExlWb = CreateObject ("Excel.Application") ExlWb.Application.Visible = True End Sub

Dingen om te onthouden over CreateObject in VBA

  • In VBA wordt de CreateObject-functie gebruikt om naar objecten te verwijzen.
  • Create Object-functie veroorzaakt een laat bindend proces.
  • Met behulp van de functie create object krijgen we geen toegang tot de IntelliSense-lijst van VBA.

Interessante artikelen...