Kas yra „CreateObject“ metodas VBA ir kaip „CreateObject“ metodą naudoti „Excel“?

Turinys:

Anonim

Kaip rodo pavadinimas, „CreateObject“ funkcija naudojama objektams kurti.

Bet kodėl mes naudojame „CreateObject“ metodą ar funkciją, jei galime tiesiogiai sukurti objektą naudodami naują raktinį žodį?

Na, tai pagrįstas klausimas ir mes turime teisingą atsakymą.

Objekto sukūrimas naudojant „CreateObject“ vadinamas Vėlyvas įrišimas. Vėlai susiejant objektai sukuriami vykdymo metu. Jai nereikia pridėti jokių nuorodų. Dėl to VBA kodas yra nešiojamas.

Pavyzdžiui, jei sukuriate programą, kuri susijusi su kitomis programomis ir naudojate ankstyvas įrišimas pridedant nuorodas ir naudojant naujas raktinis žodis. Vėliau šį kodą perkelsite į kitą mašiną, tada turėsite pridėti ir nuorodų į tą mašiną. Tačiau jei kūrėte kitus programos objektus naudodami „CreateObject“ metodą, jums nereikės pridėti nuorodų kitose mašinose, jei kodą perkelsite ar bendrinsite.

Šiame straipsnyje mes sužinosime apie „CreateObject“ metodą, naudodami keletą pavyzdžių.

Funkcijos CreateObject sintaksė:

Nustatykite object_name = CreateObject (klasės pavadinimas kaip eilutė, [serverio pavadinimas])

klasės pavadinimas kaip eilutė: Tai yra būtinas kintamasis. Tai eilutė, nurodanti programos pavadinimą ir objekto tipą. Programos pavadinimas ir sukurto objekto klasė turėtų būti deklaruoti „AppName.ObjecType“. Pavyzdžiui, jei noriu „Word Application“ objekto, parašyčiau „Word.Application“. Vėliau tai išsamiai pamatysime pavyzdžiuose.

[serverio pavadinimas]: Tai pasirenkamas kintamasis. Tai tinklo serverio, kuriame bus sukurtas objektas, pavadinimo eilutė. Jei serverio pavadinimas yra tuščia eilutė (""), naudojama vietinė mašina. Šiame skyriuje to nenaudosime.

Dabar, kai žinome „CreateObject“ funkcijos pagrindus, panaudokime juos keliuose pavyzdžiuose:

1 pavyzdys: atidarykite „Microsoft Word“ programą naudodami „Excel VBA“

Taigi, jei norėtume naudoti ankstyvą įrišimą, pridėtume nuorodas į žodines programas naudodami meniu Įrankiai-> Nuorodos.

Ir mūsų kodas atrodys taip.

Sub OpenWordApp () Dim wordApp kaip naujas Word.Application Dim wordDoc Kaip dokumentas wordApp.Visible = True wordDoc = wordApp.Documents.Add End Sub 

Šio kodo pranašumas yra tas, kad jums suteikiama VBA intelekto pagalba ir jis parodo turimą jūsų sukurto objekto metodą ir savybes. Tai puikiai veiks jūsų sistemoje. Bet jei pasidalinsite šiuo kodu su kuo nors kitu ir jie neįtraukė nuorodos į „Microsoft Word“ biblioteką iš įrankių, jie gaus klaidą.

Norėdami išvengti šios klaidos, naudokite žemiau esantį kodą.

Sub OpenWordApp () Dim wordApp As Object Nustatyti wordApp = CreateObject ("Word.Application") Dim wordDoc kaip objektas wordApp.Visible = True Nustatyti wordDoc = wordApp.Documents.Add End Sub 

Aukščiau pateiktas kodas puikiai veiks bet kurioje mašinoje. Jis yra nešiojamas, nes objektą sukuriame vėlai, naudodami „CreateObject“ metodą.

Pažiūrėkime kitą pavyzdį:

2 pavyzdys: Sukurkite darbaknygės objektą naudodami funkciją CreateObject

Jei bet kurį laiką dirbate su VBA, turite sukurti ar pridėti darbaknygėse naudodami naują raktinį žodį. Šiame pavyzdyje tai padarysime naudodami „CreateObject“.

Sub addSheet () „Deklaruoti objekto kintamąjį, kad jame būtų objektas“. Dim kaip Object sukelia vėlyvą susiejimą. Sutemdyti „ExcelSheet“ kaip objektą Nustatykite „ExcelSheet = CreateObject“ („Excel.Sheet“) 'Padarykite „Excel“ matomą per programos objektą. „ExcelSheet.Application.Visible = True“ Įdėkite šiek tiek teksto į pirmąjį lapo langelį. ExcelSheet.Application.Cells (1, 1) .Value = "Tai yra A stulpelio 1 eilutė" Išsaugokite lapą kataloge C: \ test.xls. ExcelSheet.SaveAs "C: \ TEST.XLS" 'Uždarykite "Excel" naudodami "Quit" metodą taikymo objekte. ExcelSheet.Application.Quit 'Atleiskite objekto kintamąjį. Nustatykite „ExcelSheet“ = Nieko pabaigos sub 

Taigi taip, vaikinai, taip jūs naudojate „CreateObject“ metodą VBA. Aptarkime jo privalumus ir trūkumus.

„CreateObject“ pranašumai kuriant objektą

Pagrindinis „CreateObject“ pranašumas yra tas, kad jis daro jūsų kodą nešiojamą (kai rūpi objekto kūrimas). Galite bendrinti kodą visiems, nesijaudindami, ar jie pridėjo nuorodą į objekto programą naudodami ar ne.

„CreateObject“ trūkumas

„CreateObject“ metodo trūkumai yra šie:

Turite žinoti klasės, kurią naudosite kurdami objektą, struktūrą.

Sukūrę objektą, esate visiškai priklausomi nuo savo atminties dėl objektų metodų ir savybių, nes VBA neteikia jokios intellisenės, kuri jums padėtų.

Mes galime įveikti aukščiau išvardintus trūkumus. Aš turiu triuką.

Kai rašau kodą, kuris bus bendrinamas su kitais, aš naudoju pirmąjį metodą objektams kurti (nuorodų pridėjimas iš įrankių). Tai padeda greičiau parašyti kodą. Baigęs VBA programą ir ją išbandęs, naują metodą pakeičiu „CreateObject Method“. Dėl to kodas yra nešiojamas. Galite naudoti šį triuką.

Taigi taip, vaikinai, taip galite naudoti funkciją „CreateObject“, kad sukurtumėte objektus VBA. Tikiuosi, kad sugebėjau viską paaiškinti. Jei turite klausimų apie šį straipsnį ar kitus su VBA susijusius klausimus, paklauskite manęs komentarų skiltyje žemiau.

Darbo su „Excel VBA UserForms“ pradžia| Aš paaiškinsiu, kaip sukurti formą „Excel“, kaip naudoti VBA įrankių rinkinį, kaip tvarkyti vartotojo įvestis ir galiausiai, kaip išsaugoti vartotojo įvestis. Mes pereisime šias temas naudodami vieną pavyzdį ir žingsnis po žingsnio vadovą.

VBA kintamieji „Excel“| VBA reiškia „Visual Basic for Applications“. Tai programavimo kalba iš „Microsoft“. Jis naudojamas su „Microsoft Office“ programomis, tokiomis kaip „MSExcel“, „MS-Word“ ir „MS-Access“, tuo tarpu VBA kintamieji yra konkretūs raktiniai žodžiai.

„Excel VBA“ kintamoji apimtis| Visose programavimo kalbose mes turime kintamosios prieigos specifikatorius, kurie apibrėžia, iš kur galima pasiekti apibrėžtą kintamąjį. „Excel VBA“ nėra išimtis. VBA taip pat turi apimties specifikacijas.

ByRef ir ByVal argumentai | Kai argumentas perduodamas kaip „ByRef“ argumentas kitam padaliniui ar funkcijai, siunčiama tikrojo kintamojo nuoroda. Bet kokie kintamojo kopijos pakeitimai atsispindės pradiniame argumente.

Ištrinkite lapus be patvirtinimo raginimų naudodami „Microsoft Excel“ VBA | Kadangi trinate lapus naudodami VBA, žinote, ką darote. Norite pasakyti „Excel“ nerodyti šio įspėjimo ir ištrinti prakeiktą lapą.

Pridėkite ir išsaugokite naują darbaknygę naudodami „Microsoft Excel 2016“ VBA| Šiame kode pirmiausia sukūrėme nuorodą į darbaknygės objektą. Ir tada mes jį inicijavome naudodami naują darbo knygos objektą. Šio metodo pranašumas yra tas, kad galite lengvai atlikti operacijas su šia nauja darbaknyge. Kaip išsaugoti, uždaryti, ištrinti ir pan

Rodyti pranešimą „Excel“ VBA būsenos juostoje| „Excel“ būsenos juosta gali būti naudojama kaip kodo monitorius. Kai jūsų VBA kodas yra ilgas ir atliekate kelias užduotis naudodami VBA, dažnai išjungiate ekrano atnaujinimą, kad nematytumėte to ekrano mirgėjimo.

Išjunkite įspėjamuosius pranešimus naudodami VBA programoje „Microsoft Excel 2016“| Šis kodas ne tik išjungia VBA įspėjimus, bet ir padidina kodo laiko efektyvumą. Pažiūrėkime, kaip.

Populiarūs straipsniai:

50 „Excel“ nuorodų, skirtų produktyvumui padidinti | Greičiau atlikite savo užduotį. Šie 50 sparčiųjų klavišų leis dar greičiau dirbti naudojant „Excel“.

„VLOOKUP“ funkcija „Excel“ | Tai yra viena iš dažniausiai naudojamų ir populiariausių „Excel“ funkcijų, naudojama norint ieškoti vertės iš įvairių diapazonų ir lapų.

COUNTIF „Excel 2016“ | Naudodami šią nuostabią funkciją, suskaičiuokite reikšmes su sąlygomis. Norint suskaičiuoti konkrečias vertes, nereikia filtruoti duomenų. Skaitiklio funkcija yra būtina norint paruošti prietaisų skydelį.

Kaip naudoti „SUMIF“ funkciją „Excel“ | Tai dar viena esminė prietaisų skydelio funkcija. Tai padeda apibendrinti vertes konkrečiomis sąlygomis.