Kao što naziv govori, funkcija CreateObject koristi se za stvaranje objekata.
Ali zašto koristimo CreateObject metodu ili funkciju ako možemo izravno stvoriti objekt pomoću nove ključne riječi?
Pa, to je valjano pitanje i imamo prikladan odgovor.
Izrada objekta pomoću funkcije CreateObject naziva se Kasno vezivanje. U kasnom povezivanju stvaranje objekata događa se za vrijeme izvođenja. Ne moraju se dodavati reference. To čini VBA kod prijenosnim.
Na primjer, ako kreirate aplikaciju koja se bavi drugim aplikacijama i koju koristite rano vezivanje dodavanjem referenci i korištenjem novi ključna riječ. Kasnije taj kod prenesete na neki drugi stroj, tada ćete morati dodati i reference na tom stroju. No, ako ste za izradu drugih aplikacijskih objekata koristili metodu CreateObject, nećete morati dodavati reference na drugim strojevima, u slučaju da prenosite ili dijelite kôd.
U ovom ćemo članku pomoću nekih primjera naučiti o metodi CreateObject.
Sintaksa funkcije CreateObject:
Postavi ime_objekta = CreateObject (naziv klase kao niz, [naziv poslužitelja]) |
naziv klase kao niz: To je tražena varijabla. To je niz koji se odnosi na naziv aplikacije i vrstu objekta. Naziv aplikacije i klasa objekta koji će se stvoriti trebaju biti deklarirani u AppName.ObjecType. Na primjer, ako želim objekt Wordove aplikacije, napisao bih "Word.Application". Kasnije ćemo to detaljno vidjeti u primjerima.
[naziv poslužitelja]: To je izborna varijabla. To je niz imena mrežnog poslužitelja na kojem će se objekt stvoriti. Ako je naziv poslužitelja prazan niz (""), koristi se lokalni stroj. Ovo nećemo koristiti u ovom poglavlju.
Sada, kada znamo osnove funkcije CreateObject, upotrijebimo ih u nekim primjerima:
Primjer 1: Otvorite aplikaciju Microsoft Word pomoću programa Excel VBA
Dakle, ako želimo koristiti rano vezivanje, dodali bismo reference na aplikacije za riječi pomoću izbornika Alati-> Reference.
I naš bi kod izgledao ovako.
Sub OpenWordApp () Zatamni wordApp kao novu Word.Application Zatamni wordDoc kao dokument wordApp.Visible = True wordDoc = wordApp.Documents.Add End Sub
Prednost ovog koda je što vam pomaže inteligentnost VBA -e i pokazuje vam dostupne metode i svojstva objekta koji ste stvorili. Savršeno će funkcionirati vaš sustav. No, ako ovaj kôd podijelite s nekim drugim, a on iz alata nije dodao referencu u Microsoftovu biblioteku riječi, dobit će pogrešku.
Da biste izbjegli ovu pogrešku, upotrijebite donji kod.
Pod OpenWordApp () Zatamni wordApp kao skup objekata wordApp = CreateObject ("Word.Application") Zatamni wordDoc kao objekt wordApp.Visible = True Set wordDoc = wordApp.Documents.Add End Sub
Gornji kôd savršeno će funkcionirati na bilo kojem stroju. Prenosiv je jer kasnimo s povezivanjem pomoću metode CreateObject za stvaranje objekta.
Pogledajmo još jedan primjer:
Primjer 2: Stvorite objekt radne knjige pomoću funkcije CreateObject
Ako s VBA -om radite neko vrijeme, morate stvoriti ili dodati u radne knjige pomoću ključne riječi New. U ovom primjeru to ćemo učiniti pomoću CreateObject.
Sub addSheet () 'Deklarirajte varijablu objekta da drži objekt' referencu. Dim as Object uzrokuje kasno vezivanje. Zatamni Excel list kao objekt Postavite ExcelSheet = CreateObject ("Excel.Sheet") 'Učinite Excel vidljivim kroz objekt Application. ExcelSheet.Application.Visible = True 'Postavite neki tekst u prvu ćeliju lista. ExcelSheet.Application.Cells (1, 1) .Value = "Ovo je stupac A, redak 1" 'Spremite list u direktorij C: \ test.xls. ExcelSheet.SaveAs "C: \ TEST.XLS" 'Zatvorite Excel metodom Quit na objektu Application. ExcelSheet.Application.Quit 'Otpustite varijablu objekta. Postavi ExcelSheet = Ništa Kraj Sub
Pa da, dečki, ovako koristite metodu CreateObject u VBA -i. Razgovarajmo o prednostima i nedostacima.
Prednosti CreateObject za stvaranje objekta
Glavna prednost CreateObject -a je što čini vaš kod prijenosnim (kada je briga o stvaranju objekta). Kôd možete podijeliti sa svima bez brige o tome jesu li dodali referencu objektnom programu pomoću ili ne.
Nedostatak CreateObject -a
Nedostaci metode CreateObject su:
Morate znati strukturu klase koju ćete koristiti za izradu objekata.
Nakon što ste stvorili objekt, potpuno ste ovisni o svojoj memoriji o metodama i svojstvima objekata, jer VBA ne pruža nikakvu inteligenciju koja bi vam mogla pomoći.
Gore navedene nedostatke možemo prevladati. Imam trik.
Kad god pišem kôd koji će se dijeliti s drugima, koristim prvu metodu za stvaranje objekata (Dodavanje referenci iz alata). To mi pomaže da brže napišem kôd. Nakon što završim program VBA i testiram ga, zamjenjujem novu metodu s metodom CreateObject. To čini kod prijenosnim. Možete koristiti ovaj trik.
Pa da, dečki, evo kako možete koristiti funkciju CreateObject za stvaranje objekata u VBA -i. Nadam se da sam uspio sve objasniti. Ako imate pitanja u vezi s ovim člankom ili bilo kojim drugim pitanjem vezanim uz VBA, pitajte me u donjem odjeljku komentara.
Početak korištenja Excel VBA korisničkih obrazaca| Objasnit ću kako stvoriti obrazac u Excelu, kako koristiti VBA alatni okvir, kako rukovati korisničkim ulazima i na kraju kako pohraniti korisničke unose. Kroz ove ćemo teme proći jednim primjerom i vodičem korak po korak.
VBA varijable u Excelu| VBA znači Visual Basic for Applications. To je programski jezik iz Microsofta. Koristi se s aplikacijama Microsoft Office kao što su MSExcel, MS-Word i MS-Access, dok su VBA varijable određene ključne riječi.
Excel VBA varijabilni opseg| U svim programskim jezicima imamo specifikatore pristupa varijablama koji definiraju odakle se može pristupiti definiranoj varijabli. Excel VBA nije iznimka. VBA također ima specifikatore opsega.
Argumenti ByRefa i ByVala | Kada se argument prenese kao ByRef argument na drugu pod -funkciju ili funkciju, šalje se referenca stvarne varijable. Sve promjene napravljene u kopiji varijable odrazit će se u izvornom argumentu.
Brisanje listova bez upita za potvrdu pomoću VBA u programu Microsoft Excel | Budući da brišete listove pomoću VBA -a, znate što radite. Htjeli biste Excel reći da ne prikazuje ovo upozorenje i izbrisati prokleti list.
Dodajte i spremite novu radnu knjigu pomoću VBA -a u programu Microsoft Excel 2016| U ovom smo kodu najprije stvorili referencu na objekt radne knjige. Zatim smo ga inicijalizirali novim objektom radne knjige. Prednost ovog pristupa je u tome što s ovom novom radnom knjigom možete lako raditi. Kao spremanje, zatvaranje, brisanje itd
Prikažite poruku na statusnoj traci programa Excel VBA| Statusna traka u Excelu može se koristiti kao monitor koda. Kad je vaš VBA kôd dugačak i obavite nekoliko zadataka pomoću VBA -a, često onemogućujete ažuriranje zaslona kako ne biste vidjeli kako zaslon treperi.
Isključite poruke upozorenja pomoću VBA u programu Microsoft Excel 2016| Ovaj kôd ne samo da onemogućuje VBA upozorenja, već i povećava vremensku učinkovitost koda. Pogledajmo kako.
Popularni članci:
50 Excel prečaca za povećanje vaše produktivnosti | Budite brži u izvršavanju svojih zadataka. Ovih 50 prečaca učinit će da radite još brže na Excelu.
Funkcija VLOOKUP u Excelu | Ovo je jedna od najčešće korištenih i popularnih funkcija programa Excel koja se koristi za traženje vrijednosti iz različitih raspona i listova.
COUNTIF u Excelu 2016 | Brojte vrijednosti s uvjetima pomoću ove nevjerojatne funkcije. Ne morate filtrirati svoje podatke da biste brojali određene vrijednosti. Funkcija Countif bitna je za pripremu vaše nadzorne ploče.
Kako koristiti funkciju SUMIF u Excelu | Ovo je još jedna bitna funkcija nadzorne ploče. To vam pomaže pri zbrajanju vrijednosti u posebnim uvjetima.