Tento článok vám ukáže, ako používať metódu Create Object vo VBA.
VBA je objektovo orientovaný jazyk - používa postupy na ovládanie a vytváranie objektov.
Vytvoriť objekt
Na vytvorenie objektu v aplikácii Microsoft Office môžeme použiť metódu Create Object. Ak napríklad píšeme kód VBA v programe Excel a chceme otvoriť kópiu programu Word, na vytvorenie novej inštancie programu Word môžeme použiť metódu Vytvoriť objekt.
Napríklad:
12345 | Sub CreateWordInstance ()Dim wdApp ako objektNastaviť wdApp = CreateObject ("Word.Application")wdApp.Visible = PravdaKoniec pod |
Podobne môžeme vytvoriť novú inštanciu programu PowerPoint alebo Access.
12345 | Sub CreatePowerPointApplicationDim ppApp ako objektNastaviť ppApp = CreateObject ("PowerPoint.Application")ppApp.Visible = PravdaKoniec pod |
Vytvorený objekt môžeme použiť aj na vytváranie iných predmetov ako aplikačného objektu. Môžeme ho použiť napríklad na vytvorenie listu programu Excel.
1234567 | Sub CreateExcelSheet ()Dim xlSheet ako objektNastaviť xlSheet = CreateObject ("Excel.Sheet")xlSheet.Application.Visible = TruexlSheet.Application.Range ("A2") = "Dobré ráno"Nastaviť xlSheet = ničKoniec pod |
Tým sa však v skutočnosti vytvorí nová inštancia programu Excel - nevytvorí sa hárok v inštancii, ktorá je už otvorená. Z tohto dôvodu musíme nastaviť Použitie nového hárka (tj: novú inštanciu programu Excel) na Viditeľné, aby sme videli objekt.
Vo všetkých vyššie uvedených príkladoch používame neskorú väzbu - preto premenné deklarujeme ako objekty. Včasnú väzbu môžeme použiť aj tak, že v našom projekte VBA nastavíme odkaz na Word alebo PowerPoint a potom napíšeme čiastkový postup, ako je uvedené nižšie. Kliknite sem, ak sa chcete dozvedieť viac o neskorej a skorej väzbe.
Najprv pre Early Binding, v rámci VBE, sme nastavili odkaz na Microsoft Word.
V Ponuka lišta, vyberte Nástroje> Referencie a posuňte sa nadol, aby ste našli odkaz na Knižnica objektov Microsoft Word 16.0.
Uistite sa, že je začiarknutá referencia, a potom kliknite na OK.
POZNÁMKA: Verzia nemusí byť 16.0, všetko závisí od toho, akú verziu balíka Microsoft Office používate na počítači!
Teraz deklarujeme Objekt pomocou Early Binding - to znamená, že namiesto toho, aby sme wdApp deklarovali ako Objekt, deklarujeme ho ako Slovo. Aplikácia. Zvyšok kódu je rovnaký, ako keď sme vyššie použili neskorú väzbu.
12345 | Sub CreateWordInstance ()Dim wdApp ako nové slovo. AplikáciaNastaviť wdApp = CreateObject ("Word.Application")wdApp.Visible = PravdaKoniec pod |