CreateObject i VBA - Hvordan bruges CreateObject-funktionen i VBA?

Indholdsfortegnelse

CreateObject-funktion i VBA

Objekter er meget vigtige begreber i VBA-kodning og forståelse for, at et objekts arbejdsmodel er ret kompleks. Når vi refererer til objekterne i VBA-kodning, gør vi det på to måder, dvs. "Early Binding" og "Late Binding." "Tidlig binding" er processen med at indstille objektreferencen fra VBA's referencebibliotek, og når vi sender filen til en anden, skal de også indstille referencen til de respektive objekter. Imidlertid kræver "sen binding" ikke brugeren at indstille nogen objektreferencer, fordi vi i sen bindingskodning indstiller referencen til det respektive objekt ved hjælp af VBA "CreateObject" -funktionen.

Hvad er CreateObject i Excel VBA?

"Opret objekt" som navnet i sig selv siger det vil oprette det nævnte objekt fra Excel VBA. Så funktionen Opret objekt returnerer referencen til et objekt initieret af en Active X-komponent.

Nedenfor er syntaksen for CreateObject-funktionen i VBA

  • Klasse: Navnet på det objekt, som vi prøver at starte og indstille referencen til variablen.
  • (Servernavn): Dette er en valgfri parameter; hvis den ignoreres, bruger den kun den lokale maskine.

Eksempel på Opret objektfunktion i Excel VBA

Nedenfor er eksemplerne på VBA CreateObject.

Eksempel nr. 1

Nu vil vi se, hvordan man starter PowerPoint-applikationen fra excel ved hjælp af CreateObject-funktionen i VBA. Åbn excel-filen, og gå til Visual Basic Editor-vinduet ved at trykke på ALT + F11- tasten.

Kode:

Sub CreateObject_Example1 () Afslut Sub

Erklær variablen som PowerPoint.Application.

Som du kan se ovenfor, når vi begynder at skrive ordet "PowerPoint", ser vi ingen IntelliSense-liste, der viser de relaterede søgninger. Dette skyldes, at "PowerPoint" er et eksternt objekt. Men intet at bekymre sig erklærer variablen som "Objekt."

Kode:

Sub CreateObject_Example1 () Dim PPT Som Object End Sub

Da vi har erklæret variablen som "Objekt", skal vi indstille referencen til objektet ved hjælp af "Set" nøgleordet. Ved at indtaste "Set" nøgleordet skal du nævne variablen og sætte et lighedstegn.

Kode:

Sub CreateObject_Example1 () Dim PPT som objektsæt PPT = End Sub

Åbn nu CreateObject-funktionen.

Da vi refererer til det eksterne objekt i "PowerPoint" for parameteren "Klasse" i funktionen Opret objekt, skal du nævne det eksterne objektnavn i dobbelt anførselstegn som "PowerPoint.Application."

Kode:

Sub CreateObject_Example1 () Dim PPT Som objektsæt PPT = CreateObject ("PowerPoint.Application") End Sub

Funktionen Opret objekt starter nu PowerPoint-applikationen. Når objektet er startet, skal vi gøre det synligt ved hjælp af variabelnavnet.

Et af problemerne med metoden Opret objekt eller forsinket binding er, at vi ikke får vist IntelliSense-listen på tidspunktet. Du skal være helt sikker på den kode, du skriver.

For variablen "PPT" skal du bruge egenskaben "Synlig" og indstille status som "Sand".

Kode:

Sub CreateObject_Example1 () Dim PPT Som objektsæt PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True End Sub

For at tilføje et dias til PPT skal du definere nedenstående VBA-kode.

Kode:

Sub CreateObject_Example1 () Dim PPT Som objektsæt PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True PPT.Presentations.Add End Sub

Udfør nu koden manuelt eller gennem F5-tasten og se "PowerPoint" -applikationen åbner.

Når PowerPoint-applikationen er aktiveret ved hjælp af variablen "PPT", kan vi begynde at få adgang til PowerPoint-applikationen.

Eksempel 2

Nu vil vi se, hvordan man starter en Excel-applikation ved hjælp af CreateObject-funktionen i VBA. Endnu en gang erklæres variablen som "Objekt."

Kode:

Sub CreateObject_Example2 () Dim ExcelSheet som 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 Som objektsæt ExlWb = CreateObject ("Excel.Application") ExlWb.Application.Visible = True End Sub

Ting at huske om CreateObject i VBA

  • I VBA bruges CreateObject-funktionen til at henvise til objekter.
  • Funktionen Opret objekt forårsager en senbindingsproces.
  • Ved hjælp af funktionen Opret objekt får vi ikke adgang til IntelliSense-listen over VBA.

Interessante artikler...