CreateObject, funkcja

Uwaga: Staramy się udostępniać najnowszą zawartość Pomocy w Twoim języku tak szybko, jak to możliwe. Ta strona została przetłumaczona automatycznie i może zawierać błędy gramatyczne lub nieścisłości. Chcemy, aby ta zawartość była dla Ciebie przydatna. Prosimy o powiadomienie nas, czy te informacje były pomocne, u dołu tej strony. Oto angielskojęzyczny artykuł do wglądu.

Uwaga: Funkcja, metoda, obiekt lub właściwość opisana w tym temacie jest wyłączona, jeśli usługa wyrażeń programu Microsoft Jet działa w trybie piaskownicy, co uniemożliwia ocenę potencjalnie niebezpiecznych wyrażeń. Aby uzyskać więcej informacji na temat trybu piaskownicy, wyszukaj "tryb piaskownicy" w pomocy.

Tworzy i zwraca odwołanie do obiektu ActiveX.

Składnia

CreateObject ( Class [; nazwa_serwera] )

W składni funkcji CreateObject występują następujące argumenty:

Argument

Opis

klasa

Argument wymagany. Wariant (Ciąg). Nazwa i Klasa aplikacji do utworzenia obiektu.

nazwa_serwera

Argument opcjonalny. Wariant (Ciąg). Nazwa serwera sieciowego, na którym zostanie utworzony obiekt. Jeśli argument nazwa_serwera jest ciągiem pustym (""), jest używana funkcja komputer lokalny.


Funkcja Classargument używa składni nazwa_aplikacji.ObjectType i zawiera następujące segmenty:

Segment

Opis

nazwa_aplikacji

Argument wymagany. Wariant (Ciąg). Nazwa aplikacji dostarczającej obiekt.

ObjectType

Argument wymagany. Wariant (Ciąg). Typ lub klasa obiektu do utworzenia.


Spostrzeżenia

Każda aplikacja obsługująca automatyzację udostępnia co najmniej jeden typ obiektu. Na przykład aplikacja do przetwarzania tekstu może zawierać obiekt aplikacji , obiekt dokumentu oraz obiekt paska narzędzi .

Aby utworzyć obiekt ActiveX, przypisz obiekt zwrócony przez wartość CreateObject do zmienna obiektu:

Uwaga: Poniższe przykłady przedstawiają sposób użycia tej funkcji w module języka Visual Basic for Applications (VBA). Aby uzyskać dodatkowe informacje na temat pracy w języku VBA, wybierz pozycję Dokumentacja dewelopera z listy rozwijanej obok przycisku Wyszukaj i wprowadź odpowiednie terminy w polu wyszukiwania.

' Declare an object variable to hold the object 
' reference. Dim as Object causes late binding.
Dim ExcelSheet As Object
Set ExcelSheet = CreateObject("Excel.Sheet")

W tym przykładzie będzie Automatyzacja obiektu arkusza kalkulacyjnego programu Excel z poziomu bazy danych programu Access. Ten kod rozpoczyna aplikację tworzącą obiekt, w tym przypadku arkusz kalkulacyjny programu Microsoft Excel. Po utworzeniu obiektu należy odwołać się do niego w kodzie przy użyciu zdefiniowanej zmiennej Object. W poniższym przykładzie uzyskujesz dostęp do właściwości i metod nowego obiektu za pomocą zmiennej Object, ExcelSheeti innych obiektów programu Excel, w tym obiektu Application i kolekcji Cells .

' Make Excel visible through the Application object.
ExcelSheet.Application.Visible = True
' Place some text in the first cell of the sheet.
ExcelSheet.Application.Cells(1, 1).Value = "This is column A, row 1"
' Save the sheet to C:\test.xls directory.
ExcelSheet.SaveAs "C:\TEST.XLS"
' Close Excel with the Quit method on the Application object.
ExcelSheet.Application.Quit
' Release the object variable.
Set ExcelSheet = Nothing

Deklarowanie zmiennej obiektu za pomocą klauzuli As Object powoduje utworzenie zmiennej, która może zawierać odwołanie do dowolnego typu obiektu. Dostęp do obiektu za pośrednictwem tej zmiennej jest jednak późnym ograniczeniem; oznacza to, że wiązanie jest wykonywane po uruchomieniu programu. Aby utworzyć zmienną obiektu, której wynikiem jest wczesne wiązanie, czyli powiązanie podczas kompilowania programu, zadeklaruj zmienną obiektu przy użyciu określonego identyfikatora zajęć. Można na przykład zadeklarować i utworzyć następujące odwołania programu Excel:

Dim xlApp As Excel.Application 
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.WorkSheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)

Odwołanie za pośrednictwem wczesnej zmiennej można zapewnić lepszą wydajność, ale może zawierać jedynie odwołanie do klasa określonych w deklaracja.

Obiekt zwrócony przez działanie funkcji CreateObject można przekazać do funkcji, która oczekuje obiektu jako argumentu. Na przykład poniższy kod tworzy i przekazuje odwołanie do obiektu programu Excel. Application:

Call MySub (CreateObject("Excel.Application"))

Obiekt na zdalnym komputerze sieciowym można utworzyć, przechodząc do nazwy komputera z argumentem ServerName funkcji CreateObject. Ta nazwa jest taka sama jak nazwa komputera w nazwie udziału: dla udziału o nazwie "\\MyServer\Public".

Uwaga:  Dodatkowe informacje na temat tworzenia aplikacji na zdalnym komputerze sieciowym można znaleźć w dokumentacji modelu COM (zobacz Microsoft Developer Network). Może być konieczne dodanie klucza rejestru do aplikacji.

Poniższy kod zwraca numer wersji wystąpienia programu Excel uruchomionego na komputerze zdalnym o nazwie MyServer:

Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application", "MyServer")
Debug.Print xlApp.Version

Jeśli serwer zdalny nie istnieje lub jest niedostępny, wystąpi błąd czasu wykonania.

Uwaga:  Użyj funkcji CreateObject , jeśli nie ma bieżącego wystąpienia obiektu. Jeśli wystąpienie obiektu jest już uruchomione, zostanie uruchomione nowe wystąpienie i zostanie utworzony obiekt określonego typu. Aby użyć bieżącego wystąpienia lub uruchomić aplikację i załadować plik, należy użyć funkcji GetObject .

Jeśli obiekt zarejestrował się jako obiekt pojedynczego wystąpienia, zostanie utworzone tylko jedno wystąpienie obiektu, niezależnie od tego, ile razy jest wykonywane polecenie CreateObject .

Przykład

W tym przykładzie użyto funkcji CreateObject w celu ustawienia odwołania (

xlApp

) do programu Excel. Korzysta z odwołania w celu uzyskania dostępu do właściwości Visible programu Excel, a następnie użyto metody quit programu Excel do jej zamknięcia. Wreszcie odwołanie jest zwalniane.

Dim xlApp As Object    ' Declare variable to hold the reference.
Set xlApp = CreateObject("excel.application")
' You may have to set Visible property to True
' if you want to see the application.
xlApp.Visible = True
' Use xlApp to access Microsoft Excel's
' other objects.
xlApp.Quit ' When you finish, use the Quit method to close
Set xlApp = Nothing ' the application, then release the reference.
Rozwijaj umiejętności związane z pakietem Office
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów pakietu Office