VBA „CreateObject“ (sukurti objektą)

Šis straipsnis parodys, kaip naudoti metodą „Sukurti objektą“ VBA.

VBA yra į objektus orientuota kalba - ji naudoja procedūras objektams valdyti ir kurti.

Sukurti objektą

Norėdami sukurti objektą „Microsoft Office“ programoje, galime naudoti metodą „Sukurti objektą“. Pavyzdžiui, jei „Excel“ rašome VBA kodą ir norime atidaryti „Word“ kopiją, galime naudoti metodą „Sukurti objektą“, kad sukurtume naują „Word“ egzempliorių.

Pavyzdžiui:

12345 Sub CreateWordInstance ()Dim wdApp kaip objektasNustatykite wdApp = CreateObject ("Word.Application")wdApp.Visible = TiesaPabaiga Sub

Panašiai galime sukurti naują „PowerPoint“ ar „Access“ egzempliorių.

12345 Sub Create CreatePowerPointApplicationDim ppApp kaip objektasNustatykite ppApp = CreateObject ("PowerPoint.Application")ppApp.Visible = TiesaPabaiga Sub

Mes taip pat galime naudoti „Sukurti objektą“, kad sukurtume kitus objektus nei programos objektas. Mes galime jį naudoti, pavyzdžiui, sukurti „Excel“ lapą.

1234567 Sub CreateExcelSheet ()Dim xlSheet kaip objektasNustatykite xlSheet = CreateObject ("Excel.Sheet")xlSheet.Application.Visible = TiesaxlSheet.Application.Range ("A2") = "Labas rytas"Nustatyti xlSheet = NiekoPabaiga Sub

Tačiau tai iš tikrųjų sukuria naują „Excel“ egzempliorių - nesukuria lapo jau atidarytame egzemplioriuje. Dėl šios priežasties, norėdami pamatyti objektą, naujo lapo (ty naujo „Excel“ egzemplioriaus) taikymą turime nustatyti kaip Visible.

Visuose aukščiau pateiktuose pavyzdžiuose mes naudojame vėlyvąjį įrišimą, todėl kintamuosius deklaruojame kaip objektus. Mes taip pat galime naudoti ankstyvą įrišimą, savo VBA projekte nustatydami nuorodą į „Word“ arba „PowerPoint“, o tada parašę papildomą procedūrą, kaip parodyta žemiau. Norėdami daugiau sužinoti apie vėlyvą ir ankstyvą įrišimą, spustelėkite čia.

Pirma, ankstyvam įrišimui VBE nustatėme nuorodą į „Microsoft Word“.

Viduje konors Meniu juostą, pasirinkite Įrankiai> Nuorodos ir slinkite žemyn, kad rastumėte nuorodą į „Microsoft Word 16.0“ objektų biblioteka.

Įsitikinkite, kad nuoroda pažymėta, tada spustelėkite GERAI.

PASTABA: versija gali būti ne 16.0, viskas priklauso nuo to, kokią „Microsoft Office“ versiją naudojate savo kompiuteryje!

Dabar mes deklaruojame objektą naudodami ankstyvą įrišimą - tai reiškia, kad užuot paskelbę „wdApp“ kaip objektą, mes jį deklaruojame kaip Žodis. Taikymas. Likusi kodo dalis yra tokia pati, kaip anksčiau naudojant „Late Binding“.

12345 Sub CreateWordInstance ()Dim wdApp kaip naujas žodis. TaikymasNustatykite wdApp = CreateObject ("Word.Application")wdApp.Visible = TiesaPabaiga Sub

Padėsite svetainės plėtrą, dalintis puslapį su draugais

wave wave wave wave wave