Š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 |