Poznámka: Funkce, metoda, objekt nebo vlastnost popsaná v tomto tématu jsou zakázány, pokud je služba Microsoft Jet Expression Service spuštěna v režimu sandboxu, což brání vyhodnocení potenciálně nebezpečných výrazů. Další informace o režimu sandboxu najdete v nápovědě pro "režim sandboxu".
Vytvoří a vrátí odkaz na objekt ActiveX.
Syntaxe
CreateObject ( třída [; název_serveru] )
Syntaxe funkce CreateObject má tyto argumenty:
Argument |
Popis |
třída |
Povinný argument. Varianta (řetězec). Název aplikace a třída objektu, který se má vytvořit. |
Název_serveru |
Nepovinný argument. Varianta (řetězec). Název síťového serveru, na kterém bude objekt vytvořen. Pokud je název_serveru prázdný řetězec (""), použije se místní počítač. |
TřídaArgument používá syntaxi appname.objecttype a má tyto části:
Část |
Popis |
Appname |
Povinný argument. Varianta (řetězec). Název aplikace poskytující objekt. |
Objecttype |
Povinný argument. Varianta (řetězec). Typ nebo Třída objektu, který se má vytvořit. |
Poznámky
Každá aplikace, která podporuje automatizaci, poskytuje alespoň jeden typ objektu. Aplikace pro zpracování textu může například poskytnout objekt Aplikace , objekt Dokumentu a objekt panelu nástrojů .
Chcete-li vytvořit objekt ActiveX, přiřaďte objekt vrácený objektem CreateObject k Objektová proměnná:
Poznámka: Následující příklady ukazují použití této funkce v modulu VBA (Visual Basic pro Applications). Pokud chcete další informace o práci s modulem VBA, vyberte Referenční informace pro vývojáře, které najdete v rozevíracím seznamu vedle položky Hledat a do vyhledávacího pole napište požadované pojmy.
' Declare an object variable to hold the object
' reference. Dim as Object causes late binding. Dim ExcelSheet As Object Set ExcelSheet = CreateObject("Excel.Sheet")
V tomto příkladu budeme automatizovat objekt excelové tabulky z accessové databáze. Tento kód spustí aplikaci, která vytváří objekt, v tomto případě tabulku Microsoft Excelu. Po vytvoření objektu na něj odkazujete v kódu pomocí proměnné objektu, kterou jste definovali. V následujícím příkladu přistupujete k vlastnostem a metodám nového objektu pomocí proměnné objektu, ExcelSheeta dalších objektů aplikace Excel, včetně objektu Application a kolekce 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
Deklarace proměnné objektu pomocí klauzule As Object vytvoří proměnnou, která může obsahovat odkaz na libovolný typ objektu. Přístup k objektu prostřednictvím této proměnné je však vázaný pozdě; to znamená, že vazba nastane při spuštění programu. Chcete-li vytvořit proměnnou objektu, která má za následek počáteční vazbu, tj. vazbu při kompilaci programu, deklarujte proměnnou objektu s konkrétním ID třídy. Můžete například deklarovat a vytvořit následující excelové odkazy:
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)
Odkaz prostřednictvím proměnné s časnou vazbou může poskytnout lepší výkon, ale může obsahovat pouze odkaz na Třída zadaný v Deklarace.
Objekt vrácený funkcí CreateObject můžete předat funkci, která očekává objekt jako argument. Například následující kód vytvoří a předá odkaz na objekt Excel.Application:
Call MySub (CreateObject("Excel.Application"))
Na vzdáleném počítači v síti můžete vytvořit objekt předáním názvu počítače do argumentu název_serveruCreateObject. Tento název je stejný jako část názvu počítače v názvu sdílené složky: pro sdílenou složku s názvem \\MyServer\Public je název serveru MyServer.
Poznámka: Další informace o zviditelnění aplikace na vzdáleném počítači v síti najdete v dokumentaci modelu COM (viz Microsoft Developer Network). Možná budete muset přidat klíč registru pro vaši aplikaci.
Následující kód vrátí číslo verze instance aplikace Excel spuštěné ve vzdáleném počítači s názvem MyServer:
Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application", "MyServer") Debug.Print xlApp.Version
Pokud vzdálený server neexistuje nebo je nedostupný, dojde k chybě za běhu.
Poznámka: Pokud neexistuje žádná aktuální instance objektu, použijte CreateObject . Pokud je instance objektu již spuštěna, spustí se nová instance a vytvoří se objekt zadaného typu. Pokud chcete použít aktuální instanci nebo spustit aplikaci a načíst soubor, použijte funkci GetObject .
Pokud se objekt zaregistroval jako objekt s jednou instancí, vytvoří se pouze jedna instance objektu bez ohledu na to, kolikrát je objekt CreateObject proveden.
Příklad
Tento příklad používá funkci CreateObject k nastavení odkazu (
xlApp
) do Excelu. Používá odkaz pro přístup k vlastnosti Visible aplikace Excel a pak pomocí metody Ukončení aplikace Excel ji zavřete. Nakonec se uvolní samotný odkaz.
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.