CreateObject függvény a VBA-ban
Az objektumok nagyon fontos fogalmak a VBA kódolásban, és annak megértése, hogy az objektum munkamodellje meglehetősen összetett. Amikor az objektumokra hivatkozunk a VBA kódolásban, kétféleképpen tesszük ezt: „Korai kötés” és „Késői kötés”. A „korai kötés” az objektum hivatkozás beállításának folyamata a VBA referenciatárából, és amikor másnak elküldjük a fájlt, meg kell adniuk a hivatkozást az adott objektumokra is. A „Késői kötés” azonban nem követeli meg a felhasználótól semmilyen objektum hivatkozást, mert a késői kötésű kódolásnál a VBA „CreateObject” függvény segítségével állítjuk be a hivatkozást az adott objektumra.
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba_.png.webp)
Mi a CreateObject az Excel VBA-ban?
„Objektum létrehozása”, ahogy maga a név mondja, hogy létrehozza az említett objektumot az Excel VBA-ból. Tehát az Objektum létrehozása függvény visszaadja az Active X komponens által kezdeményezett objektum hivatkozását.
Az alábbiakban látható a VBA CreateObject függvényének szintaxisa
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba__2.png.webp)
- Osztály: annak az objektumnak a neve, amelyet megpróbálunk elindítani, és megadjuk a hivatkozást a változóra.
- (Kiszolgáló neve): Ez egy opcionális paraméter; figyelmen kívül hagyása esetén csak a helyi gépet fogja használni.
Példa objektum létrehozása az Excel VBA alkalmazásban
Az alábbiakban bemutatjuk a VBA CreateObject példáit.
1. példa
Most meglátjuk, hogyan lehet elindítani a PowerPoint alkalmazást az Excelből a VBA CreateObject függvényével. Nyissa meg az Excel fájlt, és az ALT + F11 billentyű lenyomásával lépjen a Visual Basic Editor ablakba .
Kód:
Sub CreateObject_Example1 () End Sub
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba__3.png.webp)
Nyújtsa be a változót PowerPoint alkalmazásként.
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba__4.png.webp)
Amint a fentiekből is látszik, amikor elkezdjük beírni a „PowerPoint” szót, nem látunk egyetlen IntelliSense listát sem, amely a kapcsolódó kereséseket mutatja. Ez azért van, mert a „PowerPoint” egy külső objektum. De nem kell aggódni, nyilvánítsa a változót „Object” -nek.
Kód:
Sub CreateObject_Example1 () Dim PPT mint Object End Sub
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba__5.png.webp)
Mivel a változót „Object” néven deklaráltuk, a „Set” kulcsszóval meg kell adnunk az objektum hivatkozását. A „Set” kulcsszó megadásával említse meg a változót, és tegyen egyenlőségjelet.
Kód:
Sub CreateObject_Example1 () Dim PPT mint objektumkészlet PPT = End Sub
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba__6.png.webp)
Most nyissa meg a CreateObject függvényt.
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba__7.png.webp)
Mivel a „PowerPoint” külső objektumára hivatkozunk az Objektum létrehozása függvény „Osztálya” paraméterére, említse meg a külső objektum nevét kettős idézőjelben „PowerPoint.Application” néven.
Kód:
Sub CreateObject_Example1 () Dim PPT mint objektumkészlet PPT = CreateObject ("PowerPoint.Application") Vége Sub
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba__8.png.webp)
Az Objektum létrehozása funkció elindítja a PowerPoint alkalmazást. Miután az objektum elindult, a változó nevének használatával láthatóvá kell tennünk.
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba__9.png.webp)
Az objektum létrehozása vagy a késői kötés módszer egyik problémája az, hogy nem látjuk az IntelliSense listát az adott időpontban. Teljesen biztosnak kell lennie abban a kódban, amelyet ír.
A „PPT” változóhoz használja a „Visible” tulajdonságot, és állítsa be az „True” állapotot.
Kód:
Sub CreateObject_Example1 () Dim PPT mint objektumkészlet 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)
Dia hozzáadásához a PPT-hez adja meg az alábbi VBA kódot.
Kód:
Sub CreateObject_Example1 () Dim PPT mint objektumkészlet PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True PPT.Presentations.Ad End End Sub
Most futtassa manuálisan vagy az F5 billentyű segítségével a kódot, és nézze meg, hogy megnyílik a „PowerPoint” alkalmazás.
![](https://cdn.know-base.net/3311678/createobject_in_vba_how_to_use_createobject_function_in_vba__11.png.webp)
Miután engedélyeztük a PowerPoint alkalmazást a „PPT” változó segítségével, elkezdhetjük a hozzáférést a PowerPoint alkalmazáshoz.
2. példa
Most meglátjuk, hogyan lehet egy Excel alkalmazást elindítani a VBA CreateObject függvényével. Még egyszer deklaráljuk a változót „Object” néven.
Kód:
Sub CreateObject_Example2 () Dim ExcelSheet mint 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 mint objektumkészlet 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)
Emlékezetes dolgok a CreateObject-ről a VBA-ban
- A VBA-ban a CreateObject függvény az objektumok hivatkozására szolgál.
- Az Objektum létrehozása funkció késői kötési folyamatot okoz.
- Az objektum létrehozása függvény használatával nem jutunk el a VBA IntelliSense listájához.