VBA CreateObject

Funkcja CreateObject w VBA

Obiekty są bardzo ważnymi pojęciami w kodowaniu VBA i zrozumieniu, że model pracy obiektu jest dość złożony. Kiedy odwołujemy się do obiektów w kodowaniu VBA, robimy to na dwa sposoby, tj. „Wczesne wiązanie” i „Późne wiązanie”. „Wczesne wiązanie” to proces ustawiania odniesienia do obiektu z biblioteki odniesień języka VBA, a kiedy wysyłamy plik do kogoś innego, ta osoba również wymaga ustawienia odniesienia do tych odpowiednich obiektów. Jednak „późne wiązanie” nie wymaga od użytkownika ustawiania jakichkolwiek odwołań do obiektów, ponieważ w kodowaniu późnego wiązania ustawiamy odniesienie do odpowiedniego obiektu za pomocą funkcji „CreateObject” języka VBA.

Co to jest CreateObject w Excel VBA?

„Utwórz obiekt”, jak sama nazwa mówi, utworzy wspomniany obiekt z Excel VBA. Zatem funkcja Create Object zwraca odwołanie do obiektu zainicjowanego przez składnik Active X.

Poniżej znajduje się składnia funkcji CreateObject w języku VBA

  • Klasa: nazwa obiektu, który próbujemy zainicjować i ustawić odniesienie do zmiennej.
  • [Nazwa serwera]: jest to opcjonalny parametr, jeśli zostanie zignorowany, użyje tylko komputera lokalnego.

Przykład funkcji tworzenia obiektu w Excel VBA

Poniżej znajdują się przykłady VBA CreateObject.

Możesz pobrać ten szablon VBA CreateObject Excel tutaj - Szablon VBA CreateObject Excel

Przykład 1

Teraz zobaczymy, jak zainicjować aplikację PowerPoint z programu Excel za pomocą funkcji CreateObject w VBA. Otwórz plik programu Excel i przejdź do okna Edytora Visual Basic, naciskając klawisz ALT + F11 .

Kod:

 Sub CreateObject_Example1 () End Sub 

Zadeklaruj zmienną jako PowerPoint.Application.

Jak widać powyżej, kiedy zaczynamy wpisywać słowo „PowerPoint”, nie widzimy żadnej listy Intellisense pokazującej podobne wyszukiwania, ponieważ „PowerPoint” jest obiektem zewnętrznym. Ale nie martw się, deklaruj zmienną jako „Obiekt”.

Kod:

 Sub CreateObject_Example1 () Dim PPT As Object End Sub 

Ponieważ zadeklarowaliśmy zmienną jako „Object”, musimy ustawić odniesienie do obiektu za pomocą słowa kluczowego „Set”. Wpisując słowo kluczowe „Ustaw”, wspomnij o zmiennej i wstaw znak równości.

Kod:

 Sub CreateObject_Example1 () Dim PPT As Object Set PPT = End Sub 

Teraz otwórz funkcję CreateObject.

Ponieważ odwołujemy się do zewnętrznego obiektu programu „PowerPoint” dla parametru „Class” funkcji Create Object, należy podać nazwę obiektu zewnętrznego w podwójnych cudzysłowach jako „PowerPoint.Application”.

Kod:

 Sub CreateObject_Example1 () Dim PPT As Object Set PPT = CreateObject ("PowerPoint.Application") End Sub 

Teraz funkcja Utwórz obiekt uruchomi aplikację PowerPoint. Po zainicjowaniu obiektu musimy uczynić go widocznym za pomocą nazwy zmiennej.

Jednym z problemów z metodą Create Object lub metodą późnego wiązania jest to, że w danym momencie nie widzimy listy Intellisense, musisz mieć absolutną pewność co do kodu, który piszesz.

Dla zmiennej „PPT” użyj właściwości „Widoczne” i ustaw status na „Prawda”.

Kod:

 Sub CreateObject_Example1 () Dim PPT As Object Set PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True End Sub 

Aby dodać slajd do PPT, zdefiniuj poniższy kod VBA.

Kod:

 Sub CreateObject_Example1 () Dim PPT As Object Set PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True PPT.Presentations.Add End Sub 

Teraz wykonaj kod ręcznie lub za pomocą klawisza F5 i zobacz, jak otwiera się aplikacja „PowerPoint”.

Po włączeniu aplikacji PowerPoint za pomocą zmiennej „PPT” możemy rozpocząć dostęp do aplikacji PowerPoint.

Przykład nr 2

Teraz zobaczymy, jak zainicjować aplikację Excel za pomocą funkcji CreateObject w VBA. Ponownie zadeklaruj zmienną jako „Obiekt”.

Kod:

 Sub CreateObject_Example2 () Dim ExcelSheet As Object End Sub 

W momencie, gdy zadeklarujemy zmienną jako obiekt, powoduje ona późne wiązanie i musimy użyć słowa kluczowego „Set”, aby ustawić odniesienie do wymaganego obiektu.

Ponieważ odwołujemy się do arkusza programu Excel z aplikacji Excel, wpisz „Arkusz Excel” w cudzysłowach.

Kod:

 Sub CreateObject_Example2 () Przyciemnij arkusz Excela jako zestaw obiektów ExcelSheet = CreateObject ("Excel.Sheet") End Sub 

Po ustawieniu odniesienia do arkusza Excela musimy uczynić go widocznym, aby go używać. Jest to podobne do tego, jak sprawiliśmy, że aplikacja PowerPoint była widoczna.

Kod:

 Sub CreateObject_Example2 () Dim ExcelSheet as Object Set ExcelSheet = CreateObject ("Excel.Sheet") ExcelSheet.Application.Visible = True End Sub 

Teraz aktywuje arkusz programu Excel.

Podobnie, aby zainicjować skoroszyt programu Excel z innych produktów Microsoft, możemy użyć poniższego kodu.

Kod:

 Sub CreateObject_Example3() Dim ExlWb As Object Set ExlWb = CreateObject("Excel.Application") ExlWb.Application.Visible = True End Sub 

Things to Remember About CreateObject in VBA

  • In VBA, the CreateObject function is used to reference objects.
  • Create Object function causes a late-binding process.
  • Using create object function we don’t get to access the intellisense list of VBA.