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, Dokument a Panel s nástrojmi.
Ak chcete vytvoriť objekt ActiveX, priraďte objekt vrátený objektom CreateObject k objektová premenná:
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")
V tomto príklade zautomatizujeme objekt tabuľkového hárka Excelu z accessovej databázy. Tento kód spustí aplikáciu, ktorá vytvára objekt, v tomto prípade tabuľkový hárok programu Microsoft Excel. 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 premennej objektu klauzulou As Object sa vytvorí premenná, ktorá môže obsahovať odkaz na ľubovoľný typ objektu. Prístup k objektu prostredníctvom tejto premennej je však neskoro viazaný. to znamená, že väzba nastane pri spustení programu. Ak chcete vytvoriť objektovú premennú, ktorá má za následok skorú väzbu, čiže väzbu pri kompilovaní programu, deklarujte objektovú premennú s konkrétnym ID 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.