CreateObject i VBA - Hvordan bruke CreateObject-funksjonen i VBA?

Innholdsfortegnelse

CreateObject-funksjon i VBA

Objekter er veldig viktige begreper i VBA-koding, og forståelse for at et objekts arbeidsmodell er ganske komplisert. Når vi refererer til objektene i VBA-koding, gjør vi det på to måter, dvs. "Early Binding" og "Late Binding." "Early Binding" er prosessen med å sette objektreferansen fra referansebiblioteket til VBA, og når vi sender filen til noen andre, trenger de også å sette referansen til de respektive objektene. Imidlertid krever "Late Binding" ikke at brukeren angir noen objektreferanser fordi vi i sen bindingskoding setter referansen til det respektive objektet ved å bruke VBA "CreateObject" -funksjonen.

Hva er CreateObject i Excel VBA?

“Create Object” som navnet selv sier det vil opprette det nevnte objektet fra Excel VBA. Så, funksjonen Opprett objekt returnerer referansen til et objekt initiert av en Active X-komponent.

Nedenfor er syntaksen for CreateObject-funksjonen i VBA

  • Klasse: Navnet på objektet vi prøver å starte og sette referansen til variabelen.
  • (Servernavn): Dette er en valgfri parameter; hvis den ignoreres, vil den kun bruke den lokale maskinen.

Eksempel på Create Object Function i Excel VBA

Nedenfor er eksemplene på VBA CreateObject.

Eksempel 1

Nå skal vi se hvordan du starter PowerPoint-applikasjonen fra excel ved hjelp av CreateObject-funksjonen i VBA. Åpne excel-filen og gå til Visual Basic Editor-vinduet ved å trykke ALT + F11- tasten.

Kode:

Sub CreateObject_Example1 () Slutt Sub

Deklarer variabelen som PowerPoint.Application.

Som du kan se ovenfor, når vi begynner å skrive ordet "PowerPoint", ser vi ingen IntelliSense-liste som viser relaterte søk. Dette er fordi “PowerPoint” er et eksternt objekt. Men ingenting å bekymre seg, erklærer variabelen som "Objekt."

Kode:

Sub CreateObject_Example1 () Dim PPT Som objektets slutt Sub

Siden vi har erklært variabelen som "Objekt", må vi sette referansen til objektet ved å bruke nøkkelordet "Sett". Ved å angi nøkkelordet “Sett”, nevn variabelen, og sett et likhetstegn.

Kode:

Sub CreateObject_Example1 () Dim PPT som objektsett PPT = End Sub

Åpne nå CreateObject-funksjonen.

Siden vi refererer til det eksterne objektet til "PowerPoint" for "Klasse" -parameteren i Opprett objekt-funksjonen, må du nevne navnet på det eksterne objektet i doble anførselstegn som "PowerPoint.Application."

Kode:

Sub CreateObject_Example1 () Dim PPT Som objektsett PPT = CreateObject ("PowerPoint.Application") End Sub

Nå vil Create Object-funksjonen starte PowerPoint-applikasjonen. Når objektet er startet, må vi gjøre det synlig ved å bruke variabelnavnet.

Et av problemene med Create Object-metoden eller metoden for sen binding er at vi ikke får se IntelliSense-listen på tidspunktet. Du må være helt sikker på koden du skriver.

For variabelen "PPT", bruk "Synlig" -egenskap og sett statusen som "Sann."

Kode:

Sub CreateObject_Example1 () Dim PPT som objektsett PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True End Sub

For å legge til et lysbilde i PPT, definer VBA-koden nedenfor.

Kode:

Sub CreateObject_Example1 () Dim PPT som objektsett PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True PPT.Presentations.Add End Sub

Utfør nå koden manuelt eller gjennom F5-tasten og se "PowerPoint" -programmet åpnes.

Når PowerPoint-applikasjonen er aktivert ved hjelp av variabelen "PPT", kan vi begynne å få tilgang til PowerPoint-applikasjonen.

Eksempel 2

Nå skal vi se hvordan du starter et Excel-program ved hjelp av CreateObject-funksjonen i VBA. Nok en gang, erklær variabelen 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 objektsett ExlWb = CreateObject ("Excel.Application") ExlWb.Application.Visible = True End Sub

Ting å huske på CreateObject i VBA

  • I VBA brukes CreateObject-funksjonen til å referere til objekter.
  • Create Object-funksjon forårsaker en senbindingsprosess.
  • Ved å bruke funksjonen Opprett objekt får vi ikke tilgang til IntelliSense-listen over VBA.

Interessante artikler...