Poznámka: Funkce, metoda, objekt nebo vlastnost popsaná v tomto tématu je zakázaná, pokud je služba Microsoft Jet Expression Service spuštěná v režimu izolovaného prostoru (sandbox), což brání vyhodnocení potenciálně nebezpečných výrazů. Další informace o režimu izolovaného prostoru najdete v nápovědě k režimu izolovaného prostoru.
Vytvoří a vrátí odkaz na objekt ActiveX.
Syntaxe
CreateObject ( class [, servername] )
Syntaxe funkce CreateObject obsahuje následující argumenty:
Argument |
Popis |
třída |
Povinný argument. Variant(String). Název aplikace a třída objektu, který se má vytvořit. |
název_serveru |
Nepovinný argument. Variant(String). Název síťového serveru, na kterém se objekt vytvoří Pokud je název serveru prázdný řetězec (""), použije se místní počítač. |
Název Argument používá syntax appname.objecttype a obsahuje tyto části:
Část |
Popis |
název_aplikace |
Povinný argument. Variant(String). Název aplikace obsahující objekt. |
objecttype |
Povinný argument. Variant(String). Typ nebo Třída k vytvoření objektu. |
Poznámky
Každá aplikace, která podporuje automatizaci, poskytuje alespoň jeden typ objektu. Například aplikace pro zpracování textu může poskytnout objekt Application, objekt Document a objekt panelu nástrojů.
Pokud chcete vytvořit objekt ActiveX, přiřaďte objekt vrácený pomocí createObject k objektu 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 zautomatizujeme objekt tabulky Excelu z accessové databáze. Tento kód spustí aplikaci, která vytvoří 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 se k vlastnostem a metodám nového objektu přistupte pomocí proměnné objektu, ExcelSheeta dalších excelových objektů, včetně objektu Application objektu a Cells kolekce.
' 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 pomocí této proměnné je ale opožděný. to znamená, že vazba nastane při spuštění programu. Pokud chcete vytvořit objektovou proměnnou, která bude mít zachycenou vazbu při kompilaci aplikace, deklarovat proměnnou objektu s určitým ID třídy. Můžete například deklarovat a vytvořit následující odkazy aplikace 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)
Odkaz prostřednictvím proměnné s ranou vazbou může zlepšit výkon, ale může obsahovat jenom 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ává odkaz na objekt Excel.Application:
Call MySub (CreateObject("Excel.Application"))
Objekt můžete ve vzdáleném síťovém počítači vytvořit předáním názvu počítače na serverový název CreateObject. Tento název je stejný jako část názvu počítače v názvu sdílené složky: pro sdílení s názvem "\\Server\Public", název serveru je "Server".
Poznámka: Další informace o tom, jak zviditelnit aplikaci ve vzdáleném síťovém počítači, najdete v dokumentaci modelu COM (viz Microsoft Developer Network). Možná budete muset přidat klíč registru pro svou 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 není dostupný, dojde k chybě za běhu.
Poznámka: Pokud neexistuje žádná aktuální instance objektu, použijte createObject. Pokud je instance objektu už spuštěná, je spuštěna nová instance a vytvoří se objekt zadaného typu. Pokud chcete použít aktuální instanci nebo spustit aplikaci a mít ji načíst soubor, použijte funkci GetObject.
Pokud se objekt zaregistroval jako objekt s jednou instancí, vytvoří se jenom jedna jeho instance, a to bez ohledu na to, kolikrát se příkaz CreateObject spustí.
Příklad
V tomto příkladu se funkce CreateObject používá k nastavení odkazu (
xlApp
) do Excelu. Používá odkaz pro přístup k vlastnosti Viditelné v Excelu a potom ji zavře pomocí metody Quit v Excelu. Nakonec jsme vydali i 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.