VBA CreateObject (Utwórz obiekt)

Spisie treści

W tym artykule dowiesz się, jak korzystać z metody Create Object w VBA.

VBA jest językiem zorientowanym obiektowo - wykorzystuje procedury do kontroli i tworzenia obiektów.

Utwórz obiekt

Możemy użyć metody Create Object, aby utworzyć obiekt w aplikacji Microsoft Office. Na przykład, jeśli piszemy kod VBA w programie Excel i chcemy otworzyć kopię programu Word, możemy użyć metody Utwórz obiekt, aby utworzyć nowe wystąpienie programu Word.

Na przykład:

12345 Sub UtwórzWordInstance()Przyciemnij wdApp jako obiektUstaw wdApp = CreateObject("Word.Application")wdApp.Visible = PrawdaNapis końcowy

Podobnie możemy utworzyć nową instancję programu PowerPoint lub Access.

12345 Sub Utwórz aplikację PowerPointPrzyciemnij ppApp jako obiektUstaw ppApp = CreateObject("PowerPoint.Application")ppApp.Visible = PrawdaNapis końcowy

Możemy również użyć Create Object do tworzenia obiektów innych niż Application Object. Możemy go użyć na przykład do stworzenia arkusza Excel.

1234567 Sub Utwórz arkusz Excela()Dim xlSheet jako obiektUstaw xlSheet = CreateObject("Excel.Arkusz")xlSheet.Application.Visible = PrawdaxlSheet.Application.Range("A2") = "Dzień dobry"Ustaw xlArkusz = NicNapis końcowy

Jednak w rzeczywistości tworzy to nowe wystąpienie programu Excel - nie tworzy arkusza w wystąpieniu, które jest już otwarte. Z tego powodu musimy ustawić Application nowego arkusza (czyli: nowa instancja Excela) na Visible, aby zobaczyć obiekt.

We wszystkich powyższych przykładach używamy późnego wiązania - dlatego deklarujemy zmienne jako obiekty. Możemy również użyć Early Binding, ustawiając odwołanie do Worda lub PowerPointa w naszym projekcie VBA, a następnie pisząc procedurę podrzędną, jak pokazano poniżej. Aby dowiedzieć się więcej o późnym i wczesnym wiązaniu, kliknij tutaj.

Po pierwsze, dla Early Binding, w VBE, ustawiamy odniesienie do Microsoft Word.

w Menu pasek, wybierz Narzędzia > Referencje i przewiń w dół, aby znaleźć odniesienie do Biblioteka obiektów Microsoft Word 16.0.

Upewnij się, że odniesienie jest zaznaczone, a następnie kliknij OK.

UWAGA: wersja może nie być 16.0, wszystko zależy od wersji pakietu Microsoft Office, z której korzystasz na swoim komputerze!

Teraz deklarujemy Object używając Early Binding - oznacza to, że zamiast deklarować wdApp jako Object, deklarujemy go jako Słowo.Aplikacja. Reszta kodu jest taka sama, jak w przypadku użycia późnego wiązania powyżej.

12345 Sub UtwórzWordInstance()Dim wdApp jako nowy Word.ApplicationUstaw wdApp = CreateObject("Word.Application")wdApp.Visible = PrawdaNapis końcowy

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave