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.
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba_.png.webp)
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
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba__2.png.webp)
- 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
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba__3.png.webp)
Deklarer variabelen som PowerPoint.Application.
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba__4.png.webp)
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
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba__5.png.webp)
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
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba__6.png.webp)
Åpne nå CreateObject-funksjonen.
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba__7.png.webp)
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
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba__8.png.webp)
Nå vil Create Object-funksjonen starte PowerPoint-applikasjonen. Når objektet er startet, må vi gjøre det synlig ved å bruke variabelnavnet.
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba__9.png.webp)
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
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba__10.png.webp)
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.
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba__11.png.webp)
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
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba__12.png.webp)
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.
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba__13.png.webp)
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
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba__14.png.webp)
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
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba__15.png.webp)
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
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba__16.png.webp)
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.