CreateObject u VBA - Kako koristiti funkciju CreateObject u VBA?

Funkcija CreateObject u VBA

Objekti su vrlo važni koncepti u VBA kodiranju, a razumijevanje da je model rada objekta prilično složen. Kada referenciramo objekte u VBA kodiranju, to radimo na dva načina, tj. "Rano vezivanje" i "Kasno vezivanje". "Rano vezivanje" je postupak postavljanja reference na objekt iz biblioteke referenci VBA-a, a kad datoteku pošaljemo nekom drugom, oni također trebaju postaviti referencu na te odgovarajuće objekte. Međutim, "Late Binding" ne zahtijeva od korisnika postavljanje referenci na bilo koji objekt, jer u kodiranju s kasnim vezivanjem referencu postavljamo na odgovarajući objekt pomoću funkcije VBA "CreateObject".

Što je CreateObject u programu Excel VBA?

"Stvori objekt" kako samo ime kaže da će stvoriti spomenuti objekt iz Excela VBA. Dakle, funkcija Stvori objekt vraća referencu na objekt koji je pokrenula komponenta Active X.

Ispod je sintaksa funkcije CreateObject u VBA

  • Klasa: Ime objekta koji pokušavamo pokrenuti i postaviti referencu na varijablu.
  • (Naziv poslužitelja): Ovo je neobavezni parametar; ako se zanemari, koristit će samo lokalni stroj.

Primjer izrade funkcije objekta u programu Excel VBA

Ispod su primjeri VBA CreateObject.

Primjer # 1

Sada ćemo vidjeti kako pokrenuti PowerPoint aplikaciju iz Excela pomoću funkcije CreateObject u VBA-u. Otvorite excel datoteku i idite na Visual Basic Editor Window pritiskom na tipke ALT + F11 .

Kodirati:

Sub CreateObject_Example1 () Kraj Sub

Proglasite varijablu kao PowerPoint.Application.

Kao što vidite gore, kad počnemo tipkati riječ "PowerPoint", ne vidimo nijedan popis IntelliSense koji prikazuje povezana pretraživanja. To je zato što je "PowerPoint" vanjski objekt. Ali bez brige, varijablu proglasite "Objektom".

Kodirati:

Sub CreateObject_Example1 () Zatamni PPT kao kraj objekta Sub

Budući da smo varijablu proglasili "Objektom", referencu na objekt moramo postaviti pomoću ključne riječi "Set". Upisom ključne riječi "Set" spomenite varijablu i stavite znak jednakosti.

Kodirati:

Sub CreateObject_Example1 () Zatamni PPT kao skup objekata PPT = Kraj Sub

Sada otvorite funkciju CreateObject.

Budući da referencujemo vanjski objekt "PowerPointa" za parametar "Class" funkcije Create Object, spomenite naziv vanjskog objekta u dvostrukim navodnicima kao "PowerPoint.Application".

Kodirati:

Sub CreateObject_Example1 () Zatamni PPT kao skup objekata PPT = CreateObject ("PowerPoint.Application") Kraj Sub

Sada će funkcija Stvori objekt pokrenuti PowerPoint aplikaciju. Jednom kada je objekt pokrenut, moramo ga učiniti vidljivim pomoću naziva varijable.

Jedan od problema s metodom Create Object ili metodom kasnog vezanja je što trenutno ne vidimo popis IntelliSense. Morate biti potpuno sigurni u kod koji pišete.

Za varijablu "PPT" upotrijebite svojstvo "Vidljivo" i postavite status kao "Istina".

Kodirati:

Sub CreateObject_Example1 () Zatamni PPT kao skup objekata PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True End Sub

Da biste dodali slajd na PPT, definirajte VBA kod donjeg retka.

Kodirati:

Sub CreateObject_Example1 () Zatamni PPT kao skup objekata PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True PPT.Presentations.Add End Sub

Sada izvršite kôd ručno ili pomoću tipke F5 i pogledajte kako se otvara aplikacija "PowerPoint".

Jednom kada je PowerPoint aplikacija omogućena pomoću varijable "PPT", možemo početi pristupati PowerPoint aplikaciji.

Primjer # 2

Sada ćemo vidjeti kako pokrenuti Excel program pomoću funkcije CreateObject u VBA. Još jednom, proglasite varijablu kao "Objekt".

Kodirati:

Sub CreateObject_Example2 () Dim Excel Sheet kao kraj objekta 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 () Zatamni ExlWb kao skup objekata ExlWb = CreateObject ("Excel.Application") ExlWb.Application.Visible = True End Sub

Stvari koje treba zapamtiti o CreateObject-u u VBA-u

  • U VBA-u se funkcija CreateObject koristi za referenciranje objekata.
  • Funkcija Create Object uzrokuje postupak kasnog vezivanja.
  • Korištenjem funkcije create object ne možemo pristupiti popisu IntelliSense VBA.

Zanimljivi članci...