CreateObject VBA-s - Kuidas kasutada funktsiooni CreateObject VBA-s?

Lang L: none (table-of-contents)

Funktsioon CreateObject VBA-s

Objektid on VBA kodeerimisel väga olulised mõisted ja mõistmine, et objekti töömudel on üsna keeruline. Kui viitame VBA-kodeeringus olevatele objektidele, siis teeme seda kahel viisil, st "Varane sidumine" ja "Hiline sidumine". Varajane sidumine on objektiviite seadmine VBA viitekogust ja kui me saadame faili kellelegi teisele, peavad nad määrama ka viite neile vastavatele objektidele. Kuid „Hiline sidumine” ei nõua kasutajalt objektiviidete seadistamist, kuna hilise sidumise kodeerimisel määrasime viite vastavale objektile, kasutades funktsiooni VBA “CreateObject”.

Mis on Exceli VBA-s CreateObject?

"Loo objekt", nagu nimi ise ütleb, et see loob mainitud objekti Exceli VBA-st. Niisiis tagastab funktsiooni Loo objekt viite objektile, mille on algatanud Active X komponent.

Allpool on VBA funktsiooni CreateObject süntaks

  • Klass: objekti nimi, mille proovime algatada, ja määrake muutujale viide.
  • (Serveri nimi): see on valikuline parameeter; kui seda ignoreeritakse, kasutab see ainult kohalikku masinat.

Näide funktsiooni Loo objektist Exceli VBA-s

Allpool on toodud VBA CreateObject näited.

Näide 1

Nüüd näeme, kuidas käivitada PowerPointi rakendus Excelist, kasutades VBA funktsiooni CreateObject. Avage Exceli fail ja minge Visual Basic Editori aknasse, vajutades klahve ALT + F11 .

Kood:

Sub CreateObject_Example1 () Lõpeta alam

Deklareerige muutuja PowerPointiks. Rakendus.

Nagu ülal näete, ei näe me sõna "PowerPoint" kirjutamise alustamisel ühtegi IntelliSense'i loendit, mis näitaks seotud otsinguid. Seda seetõttu, et „PowerPoint” on väline objekt. Kuid pole muret, kuulutage muutuja objektiks.

Kood:

Sub CreateObject_Example1 () Dim PPT kui Object End Sub

Kuna oleme muutuja deklareerinud objektiks, peame määrama objektile viite, kasutades märksõna „Määra”. Märksõna „Määra” sisestades mainige muutujat ja pange võrdusmärk.

Kood:

Sub CreateObject_Example1 () Dim PPT kui objektikomplekt PPT = End Sub

Nüüd avage funktsioon CreateObject.

Kuna viitame funktsiooni Loo objekt parameetri „Klass” parameetri „Klass” välisele objektile „PowerPoint” , mainige välise objekti nime jutumärkides „PowerPoint.Application”.

Kood:

Sub CreateObject_Example1 () Dim PPT kui objektikomplekt PPT = CreateObject ("PowerPoint.Application") Lõpp Sub

Funktsioon Loo objekt käivitab nüüd rakenduse PowerPoint. Kui objekt on algatatud, peame selle muutuja nime abil nähtavaks tegema.

Meetodi loomise või hilise sidumise meetodi üks probleem on see, et me ei näe IntelliSense'i loendit ajahetkel. Kirjutatava koodi osas peate olema täiesti kindel.

Muutuja „PPT” jaoks kasutage atribuuti „Visible” ja määrake olekuks “True”.

Kood:

Sub CreateObject_Example1 () Dim PPT kui objektikomplekt PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True End Sub

Slaidi lisamiseks PPT-sse määrake allpool VBA kood.

Kood:

Sub CreateObject_Example1 () Dim PPT kui objektikomplekt PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True PPT.Presentations.Ad End End Sub

Nüüd käivitage kood käsitsi või klahvi F5 abil ja näete, et „PowerPoint” avaneb.

Kui PowerPointi rakendus on muutuja PPT abil lubatud, saame hakata PowerPointi rakendusele juurde pääsema.

Näide 2

Nüüd näeme, kuidas Exceli rakendust VBA funktsiooni CreateObject abil käivitada. Deklareerige muutuja veel kord objektina.

Kood:

Sub CreateObject_Example2 () Dim ExcelSheet kui objekti lõpu alam

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

Mida tuleks VBA CreateObjecti kohta meeles pidada

  • VBA-s kasutatakse objektide viitamiseks funktsiooni CreateObject.
  • Funktsioon Loo objekt põhjustab hilise sidumise protsessi.
  • Objekti loomise funktsiooni kasutades ei pääse me juurde VBA IntelliSense'i loendisse.

Huvitavad Artiklid...