CreateObject VBA: ssa - Kuinka käyttää CreateObject-toimintoa VBA: ssa?

CreateObject-toiminto VBA: ssa

Objektit ovat erittäin tärkeitä käsitteitä VBA-koodauksessa, ja sen ymmärtäminen, että objektin toimintamalli on melko monimutkainen. Kun viitataan objekteihin VBA-koodauksessa, teemme sen kahdella tavalla, eli "Early Binding" ja "Late Binding". "Varhainen sidonta" on prosessi, jolla asetetaan objektiviittaus VBA: n viitekirjastosta, ja kun lähetämme tiedoston jollekin muulle, heidän on myös asetettava viittaus kyseisiin kohteisiin. "Late Binding" ei kuitenkaan vaadi käyttäjää asettamaan mitään objektiviittauksia, koska myöhässä sitovassa koodauksessa asetamme viittauksen kyseiseen objektiin käyttämällä VBA "CreateObject" -toimintoa.

Mikä on Excel VBA: n CreateObject?

"Luo objekti", kuten nimi itse sanoo, se luo mainitun objektin Excel VBA: sta. Joten Luo objekti -toiminto palauttaa viitteen objektiin, jonka Active X -komponentti on aloittanut.

Alla on VBA: n CreateObject-funktion syntaksi

  • Luokka: Objektin nimi, jonka yritämme käynnistää, ja aseta viittaus muuttujaan.
  • (Palvelimen nimi): Tämä on valinnainen parametri; jos se jätetään huomiotta, se käyttää vain paikallista konetta.

Esimerkki Luo objektitoiminto Excel VBA: ssa

Alla on esimerkkejä VBA CreateObjectista.

Esimerkki 1

Nyt näemme, miten PowerPoint-sovellus käynnistetään Excelistä käyttämällä VBA: n CreateObject-toimintoa. Avaa Excel-tiedosto ja siirry Visual Basic Editor -ikkunaan painamalla ALT + F11- näppäintä.

Koodi:

Sub CreateObject_Example1 () End Sub

Ilmoita muuttuja PowerPoint.Application-sovellukseksi.

Kuten yllä voit nähdä, kun aloitamme sanan "PowerPoint" kirjoittamisen, emme näe IntelliSense-luetteloa, joka näyttäisi siihen liittyvät haut. Tämä johtuu siitä, että “PowerPoint” on ulkoinen objekti. Mutta ei hätää, julista muuttuja "Object".

Koodi:

Sub CreateObject_Example1 () Himmennä PPT objektin lopussa Sub

Koska olemme ilmoittaneet muuttujan "Objektiksi", meidän on asetettava viittaus objektiin käyttämällä "Set" -hakusanaa. Kun kirjoitat avainsanan ”Aseta”, mainitse muuttuja ja aseta yhtäläisyysmerkki.

Koodi:

Sub CreateObject_Example1 () Himmennä PPT objektisarjana PPT = End Sub

Avaa nyt CreateObject-toiminto.

Koska viittaamme "PowerPoint" -objektin ulkoiseen objektiin Luo objekti -funktion "Luokka" -parametrissa, mainitse ulkoisen objektin nimi kaksoislainauksissa nimellä "PowerPoint.Application".

Koodi:

Sub CreateObject_Example1 () Himmennä PPT objektisarjana PPT = CreateObject ("PowerPoint.Application") Loppu Sub

Nyt Luo objekti -toiminto käynnistää PowerPoint-sovelluksen. Kun objekti on aloitettu, meidän on tehtävä se näkyväksi käyttämällä muuttujan nimeä.

Yksi Luo objekti -menetelmän tai myöhäisen sidontamenetelmän ongelmista on, että emme näe IntelliSense-luetteloa ajankohtana. Sinun on oltava täysin varma kirjoittamastasi koodista.

Käytä muuttujaa ”PPT” varten ”Visible” -ominaisuutta ja aseta tilaksi ”True”.

Koodi:

Sub CreateObject_Example1 () Himmennä PPT objektijoukkona PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True End Sub

Jos haluat lisätä dian PPT: hen, määritä alla oleva rivin VBA-koodi.

Koodi:

Sub CreateObject_Example1 () Himmennä PPT objektijoukkona PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True PPT.Presentations.Add End Sub

Suorita koodi nyt manuaalisesti tai F5-avaimen avulla ja katso, kuinka “PowerPoint” -sovellus avautuu.

Kun PowerPoint-sovellus on otettu käyttöön muuttujan "PPT" avulla, voimme alkaa käyttää PowerPoint-sovellusta.

Esimerkki 2

Nyt näemme, miten Excel-sovellus käynnistetään VBA: n CreateObject-toiminnolla. Jälleen kerran julista muuttuja objektiksi.

Koodi:

Sub CreateObject_Example2 () Himmennä ExcelSheet objektin lopussa 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 objektisarjana ExlWb = CreateObject ("Excel.Application") ExlWb.Application.Visible = True End Sub

Muistettavaa VBA: n CreateObjectista

  • VBA: ssa CreateObject-funktiota käytetään viittaamaan objekteihin.
  • Luo objekti -toiminto aiheuttaa myöhään sitovan prosessin.
  • Luo objektitoiminnon avulla emme pääse käyttämään VBA: n IntelliSense-luetteloa.

Mielenkiintoisia artikkeleita...