Applies ToMicrosoft 365 rakendus Access Access 2024 Access 2021 Access 2019 Access 2016

Märkus.: Kui Microsoft Jet Expression Service töötab liivakastirežiimis, mis takistab potentsiaalselt ebaturvaliste avaldiste väärtustamist, on käesolevas artiklis kirjeldatud funktsioon, meetod, objekt või atribuut keelatud. Liivakastirežiimi kohta lisateabe saamiseks otsige spikrist sõna „liivakastirežiim”.

Loob ja tagastab ActiveX-objekti viite.

Süntaks

CreateObject ( class [, servername] )

Funktsiooni CreateObject süntaksil on järgmised argumendid.

Argument

Kirjeldus

class

Nõutav. Variant (String). Rakenduse nimi ja loodava objekti klass.

servername

Valikuline. Variant (String). Võrguserveri nimi, kuhu objekt luuakse. Kui argument servername on tühi string (""), kasutatakse kohalikku arvutit.

argument klass kasutab süntaksit appname.objecttype ja koosneb järgmistest osadest:

Osa

Kirjeldus

rakendusenimi

Nõutav. Variant (String). Objekti võimaldava rakenduse nimi.

objektitüüp

Nõutav. Variant (String). Loodava objekti tüüp või klass.

Kommentaarid

Igas rakenduses, mis toetab automatiseerimist, on olemas vähemalt üht tüüpi objekte. Näiteks tekstitöötlusrakenduses võib olla objekt Application, objekt Document ja objekt Toolbar.

ActiveX-objekti loomiseks määrake funktsiooni CreateObject tagastatud objekt objektimuutujale.

Märkus.: Järgmised näited kujutavad selle funktsiooni kasutamist rakenduse Visual Basic for Applications (VBA) moodulis. Lisateabe saamiseks VBA-ga töötamise kohta valige välja Otsing kõrval kuvatavast ripploendist väärtus Tootearendusmaterjal ja sisestage otsinguväljale üks või mitu sõna.

' Declare an object variable to hold the object ' reference. Dim as Object causes late binding. Dim ExcelSheet As ObjectSet ExcelSheet = CreateObject("Excel.Sheet")

Selles näites automatiseerime Exceli arvutustabeli objekti Accessi andmebaasist. See kood käivitab rakenduse, mis loob objekti, praegusel juhul Microsoft Exceli arvutustabeli. Kui objekt on loodud, siis viitate sellele koodis, kasutades enda määratletud objektimuutujat. Järgmises näites kasutate uue objekti atribuutidele ja meetoditele juurdepääsuks objektimuutujat, ExcelSheeti ja teisi Exceli objekte, sealhulgas objekti Application ja kogumit 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

Objektimuutuja deklareerimine klausliga As Object loob muutuja, mis saab sisaldada viidet mis tahes tüüpi objektile. Siiski on selle muutuja kaudu juurdepääs sellele objektile hiliselt seotud, see tähendab, et sidumine toimub siis, kui programm käivitatakse. Sellise objektimuutuja loomiseks, mille korral toimuks varane sidumine ehk sidumine programmi kompileerimise ajal, deklareerige objektimuutuja konkreetse klassi ID-ga. Näiteks saate deklareerida ja luua järgmised Exceli viited:

Dim xlApp As Excel.Application Dim xlBook As Excel.WorkbookDim xlSheet As Excel.WorkSheetSet xlApp = CreateObject("Excel.Application")Set xlBook = xlApp.Workbooks.AddSet xlSheet = xlBook.Worksheets(1)

Viitamine varaselt seotud muutuja kaudu võib anda parema jõudluse, kuid saab sisaldada viidet ainult deklaratsioonis määratud klassile.

Funktsiooni CreateObject tagastatud objekti saab edastada funktsioonile, mis eeldab argumendiks objekti. Näiteks loob ja edastab järgmine kood viite objektile Excel.Application:

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

Saate objekti luua kaugvõrgus olevas arvutis, edastades selleks arvuti nime funktsiooni CreateObject argumendile servername. See nimi on sama, mis arvuti nimi võrguketta nimes: võrguketta „\\MyServer\Public“ korral on argumendi servername väärtus „MyServer“.

Märkus.:  Lisateavet selle kohta, kuidas muuta rakendus nähtavaks kaugvõrguarvutis, leiate COM-i dokumentatsioonist (vt Microsoft Developer Network). Võimalik, et peate oma rakendusele lisama registrivõtme.

Järgmine kood tagastab kaugarvutis, mille nimi on MyServer, töötava Exceli eksemplari versiooni numbri.

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

Kui kaugserverit pole olemas või kaugserver pole saadaval, ilmneb käitustõrge.

Märkus.:  Kasutage funktsiooni CreateObject siis, kui objekti praegust eksemplari pole. Kui objekti eksemplar juba töötab, käivitatakse uus eksemplar ja luuakse määratud tüüpi objekt. Praeguse eksemplari kasutamiseks või rakenduse käivitamiseks ja sellesse faili laadimiseks kasutage funktsiooni GetObject.

Juhul kui objekt on registreeritud üheeksemplarise objektina, luuakse ainult üks objekti eksemplar, olenemata sellest, mitu korda funktsiooni CreateObject käivitatakse.

Näide

Selles näites kasutatakse funktsiooni CreateObject, et määrata viide (

xlApp

) Excelile. Siin kasutatakse seda viidet Exceli atribuudile Visible juurdepääsemiseks ja seejärel kasutatakse Exceli meetodit Quit selle sulgemiseks. Lõpetuseks vabastatakse viide ise.

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.

Kas vajate veel abi?

Kas soovite rohkem valikuvariante?

Siin saate tutvuda tellimusega kaasnevate eelistega, sirvida koolituskursusi, õppida seadet kaitsma ja teha veel palju muud.

Kogukonnad aitavad teil küsimusi esitada ja neile vastuseid saada, anda tagasisidet ja saada nõu rikkalike teadmistega asjatundjatelt.