Applies ToAccess dla Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Uwaga: Funkcja, metoda, obiekt lub właściwość opisana w tym temacie jest wyłączona, jeśli usługa wyrażeń Microsoft Jet działa w trybie piaskownicy, co uniemożliwia oszacowanie 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 ( klasa [, nazwa serwera] )

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

Argument

Opis

klasa

Argument wymagany. Wariant (ciąg). Nazwa aplikacji i klasa obiektu do utworzenia.

Nazwa_serwera

Argument opcjonalny. Wariant (ciąg). Nazwa serwera sieciowego, na którym ma zostać utworzony obiekt. Jeśli nazwa serwera jest pustym ciągiem (""), używany jest komputer lokalny.

Wargumentklasy jest używana nazwa aplikacji składni.objecttype i zawiera następujące segmenty:

Segment

Opis

Appname

Argument wymagany. Wariant (ciąg). Nazwa aplikacji udostępniającej obiekt.

Objecttype

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

Spostrzeżenia

Każda aplikacja, która obsługuje automatyzację, zapewnia co najmniej jeden typ obiektu. Na przykład aplikacja edytora tekstów może udostępniać obiekt Application , obiekt Document i obiekt paska narzędzi .

Aby utworzyć obiekt ActiveX, przypisz obiekt zwrócony przez 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 ObjectSet ExcelSheet = CreateObject("Excel.Sheet")

W tym przykładzie automatyzujemy obiekt arkusza kalkulacyjnego programu Excel z poziomu bazy danych programu Access. Ten kod powoduje uruchomienie aplikacji tworzącej obiekt, w tym przypadku arkusz kalkulacyjny programu Microsoft Excel. Po utworzeniu obiektu odwołujesz się do niego w kodzie przy użyciu zdefiniowanej zmiennej obiektowej. W poniższym przykładzie uzyskujesz dostęp do właściwości i metod nowego obiektu przy użyciu zmiennej obiektowej 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 obiektowej przy użyciu klauzuli As Object powoduje utworzenie zmiennej, która może zawierać odwołanie do dowolnego typu obiektu. Jednak dostęp do obiektu przez tę zmienną jest powiązany z opóźnieniem; oznacza to, że powiązanie występuje po uruchomieniu programu. Aby utworzyć zmienną obiektową powodującą wcześniejsze powiązanie, czyli powiązanie podczas kompilowania programu, zadeklaruj zmienną obiektową o określonym identyfikatorze klasy. Można na przykład zadeklarować i utworzyć następujące odwołania do programu Excel:

Dim xlApp As Excel.Application Dim xlBook As Excel.WorkbookDim xlSheet As Excel.WorkSheetSet xlApp = CreateObject("Excel.Application")Set xlBook = xlApp.Workbooks.AddSet xlSheet = xlBook.Worksheets(1)

Odwołanie za pośrednictwem zmiennej wcześniejszej granicy może zapewnić lepszą wydajność, ale może zawierać tylko odwołanie do klasa określonego w deklaracja.

Możesz przekazać obiekt zwrócony przez funkcję CreateObject do funkcji oczekującej obiektu jako argumentu. Na przykład poniższy kod tworzy i przekazuje odwołanie do obiektu Excel.Application:

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

Obiekt można utworzyć na komputerze w sieci zdalnej, przekazując nazwę komputera do argumentu nazwa_serwerafunkcji CreateObject. Ta nazwa jest taka sama jak część Nazwa komputera nazwy udziału: dla udziału o nazwie "\\MyServer\Public", nazwa serwera to "MyServer".

Uwaga:  Dodatkowe informacje na temat ustawiania aplikacji jako widocznej na komputerze zdalnej sieci można znaleźć w dokumentacji COM (zobacz Microsoft Developer Network). Może być konieczne dodanie klucza rejestru dla aplikacji.

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

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

Jeśli serwer zdalny nie istnieje lub jest niedostępny, występuje błąd w czasie wykonywania.

Uwaga:  Użyj polecenia 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, użyj funkcji GetObject .

Jeśli obiekt zarejestrował się jako obiekt jedno wystąpienie, zostanie utworzone tylko jedno wystąpienie tego obiektu, niezależnie od tego, ile razy zostanie wykonana funkcja 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żywa metody Zamknij program Excel, aby ją zamknąć. Na koniec zostanie opublikowane samo odwołanie.

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.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.