Čo je to metóda CreateObject vo VBA a ako používať metódu CreateObject v programe Excel?

Obsah:

Anonim

Ako naznačuje názov, na vytváranie objektov slúži funkcia CreateObject.

Prečo však používame metódu alebo funkciu CreateObject, ak môžeme priamo vytvoriť objekt pomocou nového kľúčového slova?

To je správna otázka a máme na ňu vhodnú odpoveď.

Volá sa vytvorenie objektu pomocou CreateObject Neskorá väzba. V neskorej väzbe sa vytváranie objektov deje za behu. Nie je potrebné pridávať žiadne odkazy. Vďaka tomu je kód VBA prenosný.

Ak napríklad vytvoríte aplikáciu, ktorá sa zaoberá inými aplikáciami, a budete používať skorá väzba pridaním referencií a použitím súboru Nový kľúčové slovo. Neskôr tento kód prenesiete na iný počítač, potom budete musieť pridať referencie aj na tento počítač. Ak ste však použili metódu CreateObject na vytváranie ďalších aplikačných objektov, odkazy na iné počítače nebudete musieť pridať v prípade, že kód prenesiete alebo zdieľate.

V tomto článku sa dozvieme o metóde CreateObject pomocou niekoľkých príkladov.

Syntax funkcie CreateObject:

Nastaviť názov_objektu = CreateObject (názov triedy ako reťazec, [názov servera])

názov triedy ako reťazec: Je to povinná premenná. Je to reťazec, ktorý odkazuje na názov aplikácie a typ objektu. Názov aplikácie a trieda objektu, ktorý sa má vytvoriť, by mali byť deklarované v AppName.ObjecType. Napríklad, ak chcem predmet aplikácie Word, napíšem „Word.Application“. Podrobnejšie to uvidíme na príkladoch neskôr.

[názov servera]: Je to voliteľná premenná. Je to reťazec názvu sieťového servera, na ktorom bude objekt vytvorený. Ak je názov servera prázdny reťazec (""), použije sa lokálny počítač. V tejto kapitole to nebudeme používať.

Teraz, keď poznáme základy funkcie CreateObject, použime ich v niekoľkých príkladoch:

Príklad 1: Otvorte aplikáciu Microsoft Word pomocou programu Excel VBA

Ak by sme teda chceli použiť včasnú väzbu, pridali by sme odkazy na aplikácie Word pomocou ponuky Nástroje-> Referencie.

A náš kód by vyzeral takto.

Sub OpenWordApp () Dim wordApp ako nové Word.Application Dim wordDoc ako dokument wordApp.Visible = True wordDoc = wordApp.Documents.Add End Sub 

Výhodou tohto kódu je, že získate asistenciu úplnosti VBA a ukáže vám dostupnú metódu a vlastnosti objektu, ktorý ste vytvorili. Váš systém bude fungovať dokonale. Ak však tento kód zdieľate s niekým iným a on nepridal odkaz na knižnicu slov spoločnosti Microsoft z nástrojov, zobrazí sa chyba.

Aby ste sa tejto chybe vyhli, použite nižšie uvedený kód.

Sub OpenWordApp () Dim wordApp ako sada objektov wordApp = CreateObject ("Word.Application") Dim wordDoc ako objekt wordApp.Visible = True Set wordDoc = wordApp.Documents.Add End Sub 

Vyššie uvedený kód bude fungovať úplne dobre na akomkoľvek počítači. Je prenosný, pretože na vytvorenie objektu robíme neskorú väzbu pomocou metódy CreateObject.

Pozrime sa na ďalší príklad:

Príklad 2: Vytvorte objekt zošita pomocou funkcie CreateObject

Ak pracujete s VBA nejaký čas, museli ste vytvoriť alebo pridať do zošitov pomocou nového kľúčového slova. V tomto prípade to urobíme pomocou CreateObject.

Sub addSheet () „Odkaz na deklaráciu premennej objektu, aby držal objekt“. Dim as Object spôsobuje neskorú väzbu. Dim ExcelSheet as Object Set ExcelSheet = CreateObject ("Excel.Sheet") 'Make Excel visible through the Application object. ExcelSheet.Application.Visible = True 'Umiestnite text do prvej bunky listu. ExcelSheet.Application.Cells (1, 1) .Value = "Toto je stĺpec A, riadok 1" "Uložte hárok do adresára C: \ test.xls. ExcelSheet.SaveAs "C: \ TEST.XLS" 'Zavrite Excel metódou Ukončiť na objekte Application. ExcelSheet.Application.Quit 'Uvoľnite premennú objektu. Nastaviť ExcelSheet = Nič Končiť Podrad 

Takže áno, chlapci, takto používate metódu CreateObject vo VBA. Poďme diskutovať o jeho výhodách a nedostatkoch.

Výhody CreateObject na vytvorenie objektu

Hlavnou výhodou CreateObject je, že robí váš kód prenosným (keď ide o vytváranie objektov). Kód môžete zdieľať s kýmkoľvek bez obáv, či pridal odkaz na objektový program pomocou alebo nie.

Nedostatok CreateObject

Nedostatky metódy CreateObject sú:

Musíte poznať štruktúru triedy, ktorú budete používať na vytváranie objektov.

Akonáhle vytvoríte objekt, ste úplne závislí na svojej pamäti, pokiaľ ide o metódy a vlastnosti objektov, pretože VBA neposkytuje žiadne znalosti, ktoré by vám pomohli.

Vyššie uvedené nedostatky môžeme prekonať. Mám trik.

Kedykoľvek píšem kód, ktorý bude zdieľaný s ostatnými, použijem prvý spôsob vytvárania objektov (pridávanie odkazov z nástrojov). Pomáha mi to písať kód rýchlejšie. Keď dokončím program VBA a vyskúšam ho, nahradím novú metódu metódou CreateObject. Vďaka tomu je kód prenosný. Môžete použiť tento trik.

Takže áno, chlapci, takto môžete použiť funkciu CreateObject na vytváranie objektov vo VBA. Dúfam, že som dokázal všetko vysvetliť. Ak máte akékoľvek otázky týkajúce sa tohto článku alebo akékoľvek ďalšie otázky súvisiace s VBA, opýtajte sa ma v sekcii komentárov nižšie.

Začíname s UserForms programu Excel VBA| Vysvetlím, ako vytvoriť formulár v programe Excel, ako používať panel nástrojov VBA, ako zaobchádzať s užívateľskými vstupmi a nakoniec, ako ich uložiť. Tieto témy si prejdeme na jednom príklade a sprievodcovi krok za krokom.

Premenné VBA v Exceli| VBA je skratka pre Visual Basic for Applications. Je to programovací jazyk od spoločnosti Microsoft. Používa sa s aplikáciami balíka Microsoft Office, ako sú MSExcel, MS-Word a MS-Access, zatiaľ čo premenné VBA sú špecifické kľúčové slová.

Variabilný rozsah Excel VBA| Vo všetkých programovacích jazykoch máme špecifikátory prístupu k premenným, ktoré definujú, odkiaľ je k definovanej premennej prístup. Excel VBA nie je výnimkou. VBA má tiež špecifikátory rozsahu.

Argumenty ByRef a ByVal | Keď je argument odoslaný ako argument ByRef do iného podradeného prvku alebo funkcie, odošle sa odkaz na skutočnú premennú. Všetky zmeny vykonané v kópii premennej sa prejavia v pôvodnom argumente.

Odstráňte hárky bez výziev na potvrdenie pomocou VBA v programe Microsoft Excel | Keďže odstraňujete hárky pomocou jazyka VBA, viete, čo robíte. Chcete Excelu povedať, aby toto upozornenie nezobrazoval a vymazal ten prekliaty hárok.

Pridajte a uložte nový zošit pomocou jazyka VBA v programe Microsoft Excel 2016| V tomto kóde sme najskôr vytvorili odkaz na objekt zošita. A potom sme to inicializovali novým objektom zošita. Výhodou tohto prístupu je, že môžete ľahko vykonávať operácie s týmto novým zošitom. Rovnako ako ukladanie, zatváranie, mazanie atď

Zobrazte správu na stavovom riadku programu Excel VBA| Stavový riadok v Exceli je možné použiť ako monitor kódu. Keď je váš kód VBA dlhý a vykonávate niekoľko úloh pomocou jazyka VBA, často vypnete aktualizáciu obrazovky, aby ste videli, že obrazovka bliká.

Vypnite varovné správy pomocou VBA v programe Microsoft Excel 2016| Tento kód nielenže deaktivuje upozornenia VBA, ale tiež zvyšuje časovú účinnosť kódu. Pozrime sa ako.

Populárne články:

50 skratiek programu Excel na zvýšenie produktivity | Vykonajte svoju úlohu rýchlejšie. Týchto 50 skratiek vám umožní pracovať ešte rýchlejšie v Exceli.

Funkcia VLOOKUP v programe Excel | Toto je jedna z najpoužívanejších a najobľúbenejších funkcií programu Excel, ktorá sa používa na vyhľadávanie hodnôt z rôznych rozsahov a hárkov.

COUNTIF v Exceli 2016 | Počítajte hodnoty s podmienkami pomocou tejto úžasnej funkcie. Na počítanie konkrétnych hodnôt nie je potrebné filtrovať údaje. Funkcia Countif je potrebná na prípravu palubnej dosky.

Ako používať funkciu SUMIF v programe Excel | Toto je ďalšia zásadná funkcia palubnej dosky. To vám pomôže zhrnúť hodnoty za konkrétnych podmienok.