CreateObject v VBA - Kako uporabiti funkcijo CreateObject v VBA?

Funkcija CreateObject v VBA

Predmeti so zelo pomembni koncepti v kodiranju VBA in razumevanje, da je delovni model predmeta precej zapleten. Ko se sklicujemo na predmete v kodiranju VBA, to storimo na dva načina, tj. »Early Binding« in »Late Binding«. »Zgodnja vezava« je postopek nastavitve sklica na objekt iz referenčne knjižnice VBA, in ko datoteko pošljemo nekomu drugemu, zahteva tudi nastavitev sklica na te predmete. Vendar »Pozne vezave« od uporabnika ne zahtevajo nobenih referenc na objekt, ker pri kodiranju s pozno vezavo referenco nastavimo na ustrezen objekt z uporabo funkcije VBA »CreateObject«.

Kaj je CreateObject v Excelu VBA?

»Ustvari objekt«, kot že samo ime pove, da bo omenjeni objekt ustvaril iz Excelovega VBA. Torej, funkcija Ustvari objekt vrne sklic na objekt, ki ga sproži komponenta Active X.

Spodaj je sintaksa funkcije CreateObject v VBA

  • Razred: Ime predmeta, ki ga skušamo sprožiti, in nastavimo sklic na spremenljivko.
  • (Ime strežnika): to je neobvezen parameter; če ga prezrete, bo uporabil samo lokalni stroj.

Primer ustvarjanja funkcije predmeta v Excelu VBA

Spodaj so primeri VBA CreateObject.

Primer # 1

Zdaj bomo videli, kako zagnati aplikacijo PowerPoint iz Excela s pomočjo funkcije CreateObject v VBA. Odprite datoteko excel in s pritiskom na tipko ALT + F11 pojdite v okno urejevalnika Visual Basic .

Koda:

Sub CreateObject_Example1 () Konec Sub

Spremenljivko prijavite kot PowerPoint.Application.

Kot lahko vidite zgoraj, ko začnemo vnašati besedo »PowerPoint«, ne vidimo nobenega seznama IntelliSense, ki bi prikazoval sorodna iskanja. To je zato, ker je "PowerPoint" zunanji objekt. Ampak brez skrbi, spremenljivko razglasite kot »Objekt«.

Koda:

Sub CreateObject_Example1 () Zatemni PPT kot konec predmeta Sub

Ker smo spremenljivko razglasili za "Objekt", moramo referenco na objekt nastaviti s pomočjo ključne besede "Set". Z vnosom ključne besede »Set« omenite spremenljivko in postavite znak enakosti.

Koda:

Sub CreateObject_Example1 () Dim PPT kot nabor predmetov PPT = End Sub

Zdaj odprite funkcijo CreateObject.

Ker se za parameter »Class« funkcije Ustvari predmet sklicujemo na zunanji objekt »PowerPoint«, ime zunanjega predmeta v dvojnih narekovajih navedite kot »PowerPoint.Application«.

Koda:

Sub CreateObject_Example1 () Dim PPT kot nabor predmetov PPT = CreateObject ("PowerPoint.Application") End Sub

Zdaj funkcija Ustvari predmet bo sprožila program PowerPoint. Ko je objekt sprožen, ga moramo narediti vidnega z uporabo imena spremenljivke.

Ena od težav z metodo Ustvari objekt ali metodo pozne vezave je, da seznama IntelliSense trenutno ne vidimo. Biti morate popolnoma prepričani o kodi, ki jo pišete.

Za spremenljivko »PPT« uporabite lastnost »Visible« in status nastavite na »True«.

Koda:

Sub CreateObject_Example1 () Zatemni PPT kot nabor predmetov PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True End Sub

Če želite PPT dodati diapozitiv, določite spodnjo vrstico kodo VBA.

Koda:

Sub CreateObject_Example1 () Zatemni PPT kot nabor predmetov PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True PPT.Presentations.Add End Sub

Zdaj zaženite kodo ročno ali s tipko F5 in glejte, da se odpre aplikacija “PowerPoint”.

Ko je aplikacija PowerPoint omogočena s spremenljivko »PPT«, lahko začnemo dostopati do aplikacije PowerPoint.

2. primer

Zdaj bomo videli, kako sprožiti Excelovo aplikacijo s pomočjo funkcije CreateObject v VBA. Še enkrat razglasite spremenljivko kot »Objekt«.

Koda:

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 () Zatemni ExlWb kot nabor predmetov ExlWb = CreateObject ("Excel.Application") ExlWb.Application.Visible = True End Sub

Stvari, ki si jih morate zapomniti pri CreateObject v VBA

  • V VBA se funkcija CreateObject uporablja za sklicevanje na predmete.
  • Funkcija Create Object povzroči postopek pozne vezave.
  • S funkcijo create object ne pridemo do seznama IntelliSense VBA.

Zanimive Članki...