Funkcia CreateObject

Poznámka : Funkcia, metóda, objekt alebo vlastnosť, ktoré sú popísané v tejto téme, sú vypnuté, ak je služba Microsoft Jet Expression Service spustená v režime karantény, ktorý zabraňuje vo vyhodnocovaní možných nebezpečných výrazov. Ďalšie informácie o režime karantény nájdete vyhľadaním výrazu „režim karantény“ v Pomocníkovi.

Vytvorenie a vrátenie odkazu na objekt ActiveX.

Syntax

CreateObject ( trieda [, názov servera])

Syntax funkcie CreateObject má tieto argumenty:

Argument

Popis

trieda

Povinný argument. Variant (String). Názov aplikácie a trieda objektu, ktorý chcete vytvoriť.

názov servera

Voliteľný argument. Variant (String). Názov sieťového servera, na ktorom sa objekt vytvorí. Ak je názov servera prázdny reťazec (""), použije sa lokálny počítač.


Argument triedaargument používa syntax argumentu názov aplikácie. Argument typ objektu má tieto časti:

Časť

Popis

názovaplikácie

Povinný argument. Variant (String). Názov aplikácie, ktorá poskytuje objekt.

typ objektu

Povinný argument. Variant (String). Typ alebo trieda objektu, ktorý sa má vytvoriť.


Poznámky

Každá aplikácia podporujúca automatizáciu poskytuje aspoň jeden typ objektu. Aplikácia na spracovanie textu môže napríklad poskytovať objekt Aplikácia, DokumentPanel s nástrojmi.

Ak chcete vytvoriť objekt ActiveX, priraďte objekt, ktorý funkcia CreateObject vrátila, objektovej premennej:

Poznámka : Nasledujúce príklady ukazujú použitie tejto funkcie v module jazyka Visual Basic for Applications (VBA). Ak chcete získať ďalšie informácie o práci s jazykom VBA, vyberte z rozbaľovacieho zoznamu vedľa položky Hľadať možnosť Odkaz pre vývojára a do vyhľadávacieho poľa zadajte nejaké výrazy.

' 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 spustí aplikáciu, ktorá vytvorí objekt, v tomto prípade tabuľkový hárok programu Microsoft Office Excel 2007. Po vytvorení objektu naň odkazujete v kóde pomocou objektovej premennej, ktorú ste definovali. V nasledujúcom príklade pristupujete k vlastnostiam a metódam nového objektu pomocou objektovej premennej, ExcelSheet a iných objektov programu Excel vrátane objektu Application (Aplikácia) a kolekcie Cells (Bunky).

' 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

Deklarovaním objektovej premennej klauzulou As Object (Ako objekt) sa vytvorí premenná, ktorá môže obsahovať odkaz na ľubovoľný typ objektu. Prístup k objektu prostredníctvom tejto premennej sa však viaže na neskoršiu väzbu, tzn., že sa väzba vyskytne až vtedy, keď sa váš program spustí. Ak chcete vytvoriť objektovú premennú, ktorej výsledkom je včasná väzba, t. j. väzba, ktorá nastane po vytvorení programu, deklarujte objektovú premennú konkrétnou identifikáciou triedy. Môžete napríklad deklarovať a vytvoriť nasledujúce odkazy na 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)

Odkazovanie prostredníctvom premennej s včasnou väzbou môže zvýšiť výkon, môže však obsahovať len odkaz na triedu, ktorá je určená v deklarácii.

Objekt, ktorý vrátila funkcia CreateObject, môžete poskytnúť funkcii, ktorá objekt očakáva ako argument. Nasledujúci kód napríklad vytvorí a poskytne odkaz na objekt Excel.Application:

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

Objekt môžete vytvoriť na vzdialenom zosieťovanom počítači tým, že názov počítača poskytnete v argumente názov servera funkcie CreateObject. Tento názov je rovnaký ako časť Názov počítača v spoločnom názve: názov servera pre zdieľanie s názvom„\\Môj server\Verejné“, je „Môj server“.

Poznámka :  Ďalšie informácie o aktivácii zobrazenia aplikácie na vzdialenom zosieťovanom počítači nájdete v dokumentácii COM (pozri Microsoft Developer Network). Možno budete musieť pridať kľúč databázy Registry pre vašu aplikáciu.

Nasledujúci kód vráti číslo verzie inštancie programu Excel, ktorý je spustený vo vzdialenom počítači s názvom MyServer:

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

Ak vzdialený server neexistuje alebo nie je k dispozícii, počas spúšťania sa vyskytne chyba.

Poznámka :  Ak aktuálna inštancia objektu nie je k dispozícii, použitie funkciu CreateObject. Ak inštancia objektu už je spustená, spustí sa nová inštancia a vytvorí sa objekt zadaného typu. Ak chcete použiť aktuálnu inštanciu alebo spustiť aplikáciu, ktorá má načítať súbor, použite funkciu GetObject.

Ak sa objekt zaregistroval ako objekt jednej inštancie, vytvorí sa iba jedna inštancia objektu bez ohľadu na to, koľkokrát sa funkcia CreateObject spustí.

Príklad

V tomto príklade je funkcia CreateObject použitá na nastavenie odkazu (

xlApp

) na Excel. Funkcia použije odkaz na prístup k vlastnosti Viditeľné programu Excel a potom použije metódu Ukončiť na zatvorenie. Nakoniec sa uvoľ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.
Rozšírte svoje zručnosti
Preskúmať školenie
Buďte medzi prvými, ktorí získajú nové funkcie
Pridajte sa k insiderom pre Office

Boli tieto informácie užitočné?

Ďakujeme za vaše pripomienky!

Ďakujeme vám za pripomienky. Pravdepodobne vám pomôže, ak vás spojíme s pracovníkom podpory pre Office.

×