Funkce CreateObject

Důležité :  Tento článek je strojově přeložený – přečtěte si toto upozornění. Anglickou verzi tohoto článku pro referenci najdete tady.

Poznámka : Funkce, metoda, objekt či vlastnost popisovaná v tomto tématu je zakázána, pokud je služba Microsoft Jet Expression Service spuštěna v režimu vlastního paměťového prostoru, který zabraňuje vyhodnocení potenciálně nebezpečných výrazů. Další informace o režimu vlastního paměťového prostoru naleznete po vyhledání hesla Režim vlastního paměťového prostoru v nápovědě.

Vytvoří objekt ActiveX a vrátí odkaz na tento objekt.

Syntaxe

Funkce CreateObject ( třídy [, webu název serveru] )

Syntaxe funkce CreateObject zahrnuje následující argumenty:

Argument

Popis

třída

Povinný argument. Hodnota typu Variant (String). Název aplikace a třída objektu, který má být vytvořen.

název_serveru

Nepovinný argument. Hodnota typu Variant (String). Název síťového serveru, na kterém bude objekt vytvořen. Pokud je argumentem název_serveru prázdný řetězec („“), bude použit místní počítač.


Syntaxe Argumenttřída je název_aplikace.typ_objektu a její části jsou následující:

Část

Popis

název_aplikace

Povinný argument. Hodnota typu Variant (String). Název aplikace poskytující objekt.

typ_objektu

Povinný argument. Hodnota typu Variant (String). Třída nebo typ objektu, který má být vytvořen.


Poznámky

Každá aplikace, která podporuje automatizaci, poskytuje alespoň jeden typ objektu. Například textový editor může poskytnout objekt Application (Aplikace), objekt Document (Dokument) a objekt Toolbar (Panel nástrojů).

Chcete-li vytvořit objekt ActiveX, přiřaďte objekt vrácený funkcí 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")

Tento kód začíná aplikaci vytváření objektu v tomto případě Microsoft Office Excel 2007 tabulky. Po vytvoření objektu odkazy v kódu pomocí objektová proměnná, který jste definovali. V následujícím příkladu máte přístup k vlastnosti a metody nového objektu pomocí objektová proměnná, ExcelSheeta jiných objektů Excelu, včetně Cells shromažďování a Application objektu.

' 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

Při deklaraci objektové proměnné pomocí klauzule As Object je vytvořena proměnná, která může obsahovat odkaz na jakýkoli typ objektu. Přístup k objektu prostřednictvím dané proměnné je však s pozdní vazbou, což znamená, že k vazbě dojde při spuštění programu. Chcete-li vytvořit objektovou proměnnou umožňující časnou (statickou) vazbu, což je vazba, ke které dojde při kompilaci programu, deklarujte objektovou proměnnou pomocí ID konkrétní 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é umožňující časnou vazbu může zajistit lepší výkon, ale může obsahovat pouze odkaz na Třída zadanou v Deklarace.

Objekt vrácený funkcí CreateObject můžete předat funkci očekávající objekt jako argument. Následující kód například vytvoří a předá odkaz na objekt Excel.Application:

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

Objekt ve vzdáleném počítači v síti můžete vytvořit předáním názvu počítače do argumentu název_serveru funkce CreateObject. Tento název odpovídá části s názvem počítače v názvu sdílené položky: pro sdílenou položku \\Server\Veřejné je název_serveru Server.

Poznámka : Další informace o zobrazení aplikace ve vzdáleném počítači v síti naleznete v dokumentaci k modelu COM (viz web Microsoft Developer Network). Je možné, že bude nutné přidat do registru klíč pro danou aplikaci.

Následující kód vrátí číslo verze instance aplikace Excel, která je spuštěna 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ě při běhu programu.

Poznámka : Funkci CreateObject použijte v případě, že neexistuje žádná aktuální instance objektu. Jestliže je určitá instance objektu již spuštěna, je spuštěna nová instance a je vytvořen objekt zadaného typu. Chcete-li použít aktuální instanci nebo spustit aplikaci a umožnit jí načíst soubor, použijte funkci GetObject.

Jestliže se objekt zaregistroval jako objekt s jednou instancí, je vytvořena pouze jedna instance objektu (bez ohledu na to, kolikrát je funkce CreateObject použita).

Příklad

V tomto příkladu je pomocí funkce CreateObject nastaven odkaz (

xlApp

) na aplikaci Excel. Pomocí daného odkazu je získán přístup k vlastnosti .Zobrazit (Visible) aplikace Excel a potom je pomocí metody ZavřítDatabázi (Quit) aplikace Excel tato aplikace ukončena. Nakonec je uvolněn 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.

Poznámka : Upozornění ke strojovému překladu: Tento článek přeložil počítačový systém bez zásahu člověka. Společnost Microsoft nabízí tyto strojové překlady proto, aby umožnila uživatelům, kteří nemluví anglicky, získat informace o produktech, službách a technologiích této společnosti. Protože je tento článek strojově přeložený, může obsahovat slovní, syntaktické nebo gramatické chyby.

Sdílení Facebook Facebook Twitter Twitter E-mail E-mail

Byly tyto informace užitečné?

Výborně! Je ještě něco dalšího, co byste nám chtěli dát vědět?

Jak bychom ho mohli vylepšit?

Děkujeme vám za zpětnou vazbu.

×