Applies To„Access“, skirta „Microsoft 365“ „Access 2024“ Access 2021 Access 2019 Access 2016

Pastaba: Šioje temoje aprašyta funkcija, metodas, objektas arba ypatybė yra išjungta, jei "Microsoft Jet Expression Service" veikia smėlio dėžės režimu, kuris neleidžia įvertinti galimai nesaugių reiškinių. Jei reikia daugiau informacijos apie smėlio dėžės režimą, žinyne ieškokite "smėlio dėžės režimas".

Sukuria ir pateikia "ActiveX" objekto nuorodą.

Sintaksė

CreateObject ( klasė [, serveriovardas] )

Funkcijos CreateObject sintaksė turi tokius argumentus:

Argumentas

Aprašas

klasė

Būtinas. Variantas (eilutė). Kuriamo objekto programos pavadinimas ir klasė.

Servername

Pasirinktinis. Variantas (eilutė). Tinklo serverio, kuriame bus sukurtas objektas, pavadinimas. Jei serverio vardas yra tuščia eilutė (""), naudojamas vietinis kompiuteris.

Klasės argumentas naudoja sintaksę appname.objecttype ir yra šių dalių:

Dalis

Aprašas

taikomosios programos pavadinimas

Būtinas. Variantas (eilutė). Objektą teikiančios taikomosios programos pavadinimas.

objekto tipas

Būtinas. Variantas (eilutė). Kuriamo objekto tipas arba klasė.

Pastabos

Kiekviena automatizavimą palaikanti programa pateikia bent vieno tipo objektą. Pvz., teksto apdorojimo programa gali pateikti programos objektą, dokumento objektą ir įrankių juostos objektą.

Norėdami sukurti ActiveX objektą, priskirkite objektą, kurį CreateObject grąžino objekto kintamasis:

Pastaba: Pateiktuose pavyzdžiuose parodyta, kaip naudoti šią funkciją „Visual Basic for Applications“ (VBA) modulyje. Daugiau informacijos apie darbą su VBA rasite išplečiamajame sąraše pasirinkę Kūrėjų nuoroda (šalia Ieškos) ir ieškos lauke įvedę vieną ar daugiau sąlygų.

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

Šiame pavyzdyje automatizuosime "Excel" skaičiuoklės objektą iš "Access" duomenų bazės. Šis kodas paleidžia programą, kuriančią objektą, šiuo atveju "Microsoft Excel" skaičiuoklę. Sukūrus objektą, jis nurodomas kode naudojant jūsų apibrėžtą objekto kintamąjį. Toliau pateiktame pavyzdyje galite pasiekti naujo objekto ypatybes ir metodus naudodami objekto kintamąjį, ExcelSheetir kitus "Excel" objektus, įskaitant Application objektą ir Cells rinkinį.

' 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

Įrašant objekto kintamąjį su sąlyga As Object sukuriamas kintamasis, kuriame gali būti nuoroda į bet kokio tipo objektą. Tačiau prieiga prie objekto per tą kintamąjį yra vėluojanti; t. y. susiejimas įvyksta, kai jūsų programa vykdoma. Norėdami sukurti objekto kintamąjį, kuris pateikia išankstinį susiejimą, t. y. susiejimą, kai programa kompiliuojama, paskelbkite objekto kintamąjį naudodami konkretų klasės ID. Pavyzdžiui, galite paskelbti ir sukurti šias "Excel" nuorodas:

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)

Nuoroda per išankstinį kintamąjį gali užtikrinti geresnį našumą, bet gali apimti tik nuorodą į klasė, nurodytą aprašas.

Galite perduoti objektą, kurį funkcija CreateObject grąžino funkcijai, tikėdamiesi, kad objektas yra argumentas. Pavyzdžiui, šis kodas sukuria ir perduoda nuorodą į Objektą Excel.Application:

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

Galite sukurti objektą nuotoliniame tinkle prijungtame kompiuteryje perduodami kompiuterio vardą į CreateObjectserverio vardo argumentą. Šis pavadinimas yra toks pat kaip bendrai naudojamo failo pavadinimo kompiuterio vardo dalis: bendrai naudojamai bendrai naudojamai funkcijai, pavadintai \\ManoServer\Viešas," serverio vardas yra "Manoserveris".

Pastaba:  Papildomos informacijos, kaip padaryti programą matomą nuotoliniame tinkle turimame kompiuteryje, žr. COM dokumentacijoje (žr. "Microsoft" kūrėjų tinklas). Gali tekti įtraukti savo taikomosios programos registro raktą.

Šis kodas pateikia "Excel" egzemplioriaus, veikiančio nuotoliniame kompiuteryje, pavadintame MyServer, versijos numerį:

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

Jei nuotolinio serverio nėra arba jis nepasiekiamas, įvyksta vykdymo klaida.

Pastaba:  Naudokite CreateObject , kai nėra dabartinio objekto egzemplioriaus. Jei objekto egzempliorius jau paleistas, pradedamas naujas egzempliorius ir sukuriamas nurodyto tipo objektas. Norėdami naudoti dabartinį egzempliorių arba paleisti taikomąją programą ir įkelti failą, naudokite funkciją GetObject .

Jei objektas užregistravo save kaip vieno egzemplioriaus objektą, sukuriamas tik vienas objekto egzempliorius, neatsižvelgiant į tai, kiek kartų vykdomas CreateObject .

Pavyzdys

Šiame pavyzdyje naudojama funkcija CreateObject nuorodai nustatyti (

xlApp

) į "Excel". Jis naudoja nuorodą, kad pasiektų "Excel" ypatybę Visible , tada naudoja "Excel" uždarymo metodą, kad uždarytų. Galiausiai, bus išleista pati nuoroda.

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.

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.

Bendruomenės padeda užduoti klausimus ir į juos atsakyti, pateikti atsiliepimų ir išgirsti iš ekspertų, turinčių daug žinių.