Funkce CreateObject

Poznámka: Snažíme se pro vás co nejrychleji zajistit aktuální obsah nápovědy ve vašem jazyce. Tato stránka byla přeložena automaticky a může obsahovat gramatické chyby nebo nepřesnosti. Naším cílem je to, aby pro vás byl její obsah užitečný. Mohli byste nám prosím dát ve spodní části této stránky vědět, jestli vám informace v článku pomohly? Pokud byste se rádi podívali na jeho anglickou verzi, najdete ji tady.

Poznámka: Funkce, metoda, objekt nebo vlastnost popsaná v tomto tématu není k dispozici, pokud je služba Microsoft Jet Expression Service spuštěna v režimu izolovaného prostoru, což zabraňuje vyhodnocení potenciálně nebezpečných výrazů. Další informace o režimu izolovaného prostoru najdete v nápovědě v tématu režim izolovaného prostoru.

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

Syntaxe

CreateObject ( Třída [, název_serveru] )

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

Argument

Popis

třída

Povinný argument. Typ variant (String). Název a předmět objektu, který se má vytvořit

název_serveru

Volitelná hodnota. Typ variant (String). Název síťového serveru, na kterém bude objekt vytvořen. Pokud je argument název_serveru prázdný řetězec (""), použije se místní počítač.


Třída Argument používá syntaxi AppName.ObjectType a má tyto části:

Část

Popis

AppName

Povinný argument. Typ variant (String). Název aplikace, která objekt poskytuje.

Nastavte

Povinný argument. Typ variant (String). Typ nebo Třída objektu, který chcete vytvořit


Poznámky

Každá aplikace, která podporuje automatizaci, poskytuje aspoň jeden typ objektu. Například aplikace pro zpracování textu může poskytovat objekt aplikace , objekt dokumentu a objekt panelu nástrojů .

Pokud chcete vytvořit objekt ActiveX, přiřaďte objekt vrácený funkcí CreateObject do 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 tabulky aplikace Excel z Accessové databáze. Tento kód spustí aplikaci vytvářející objekt, v tomto případě tabulku aplikace Microsoft Excel. Po vytvoření objektu na něj odkazujete pomocí kódu, který jste definovali. V následujícím příkladu získáte přístup k vlastnostem a metodám nového objektu pomocí objektové proměnné, ExcelSheeta dalších objektů Excelu, 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

Když deklarujete proměnnou objektu pomocí klauzule As Object , vytvoříte 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 pozdní spojení. To znamená, že při spuštění programu dojde k vazbě. Pokud chcete vytvořit proměnnou objektu, která vede k úvodní vazbě, tedy při kompilaci programu, deklarujte proměnnou objektu určitým ID třídy. Můžete například deklarovat a vytvořit následující odkazy v Excelu:

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 v proměnné s časnou vazbou může poskytovat lepší 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. Následující kód například vytvoří a předá odkaz na objekt Excel. Application:

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

Objekt můžete ve vzdálené síti vytvořit tak, že předáte název počítače k argumentu název_serverumetody CreateObject. Tento název je stejný jako část názvu sdílené složky v názvu počítače: pro sdílenou složku s názvem "\\MyServer\Public" je "název serveru " Server ".

Poznámka:  Další informace o tom, jak se aplikace zobrazuje ve vzdáleném počítači, najdete v dokumentaci k modelu COM (viz Microsoft Developer Network). Možná budete muset pro aplikaci přidat klíč registru.

Následující kód vrátí číslo verze instance Excelu, která je na 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.

Poznámka:  Funkci CreateObject použijte, když neexistuje žádná aktuální instance objektu. Pokud už je instance objektu spuštěná, spustí se nová instance a vytvoří se objekt zadaného typu. Chcete-li 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 jenom jedna instance objektu, bez ohledu na to, kolikrát se provádí metoda CreateObject .

Příklad

V tomto příkladu se pomocí funkce CreateObject nastaví odkaz (

xlApp

) do Excelu. Pomocí odkazu se zobrazí vlastnost Visible aplikace Excel a aplikace Excel ho zavře. Nakonec je uvolněn odkaz sám.

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.
Rozšiřte své dovednosti s Office
Projít školení
Získejte nové funkce jako první
Připojte se k účastníkům programu Office Insiders

Byly tyto informace užitečné?

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

Děkujeme vám za váš názor. Vypadá to, že bude užitečné, když vás spojíme s některým z našich agentů z podpory Office.

×