Applies ToAccess za Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Napomena: Funkcija, metoda, objekt ili svojstvo opisano u ovoj temi onemogućeno je ako je Microsoft Jet Expression Service pokrenut u načinu rada sigurnosne ograde, što onemogućuje procjenu potencijalno nesigurnih izraza. Dodatne informacije o načinu rada sigurnosne ograde potražite u pomoći u odjeljku "način rada s memorijom za testiranje".

Stvara i vraća referencu na ActiveX objekt.

Sintaksa

CreateObject ( klasa [, naziv poslužitelja] )

Sintaksa funkcije CreateObject sadrži sljedeće argumente:

Argument

Opis

klasa

Obavezno. Variant (niz). Naziv aplikacije i klasa objekta za stvaranje.

Nazivposlužitelja

Neobavezno. Variant (niz). Naziv mrežnog poslužitelja na kojem će se objekt stvoriti. Ako je naziv poslužitelja prazan niz (""), koristi se lokalno računalo.

Klasa argument naziv aplikacije sintakse.objecttype i ima sljedeće dijelove:

Dio

Opis

naziv aplikacije

Obavezno. Variant (niz). Naziv aplikacije koja pruža objekt.

vrsta objekta

Obavezno. Variant (niz). Vrsta ili klasa objekta koji želite stvoriti.

Napomene

Svaka aplikacija koja podržava automatizaciju nudi najmanje jednu vrstu objekta. Aplikacija za obradu riječi, primjerice, može pružiti objekt Aplikacije , objekt Dokument i objekt alatne trake.

Da biste stvorili ActiveX objekt, dodijelite objekt koji je CreateObject vratiovarijabla objekta:

Napomena: Primjeri koji slijede prikazuju korištenje te funkcije u modulu jezika Visual Basic for Applications (VBA). Da biste pronašli dodatne informacije o radu s VBA-om, na padajućem popisu uz stavku Traži odaberite stavku Referenca za razvojne inženjere pa unesite jedan ili više izraza u okvir pretraživanja.

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

U ovom ćemo primjeru automatizirati objekt proračunske tablice programa Excel iz baze podataka programa Access. Taj kod pokreće aplikaciju koja stvara objekt, u ovom slučaju proračunsku tablicu programa Microsoft Excel. Nakon stvaranja objekta referencirate ga u kodu pomoću varijable objekta koju ste definirali. U sljedećem primjeru svojstvima i metodama novog objekta pristupate pomoću varijable objekta, ExcelSheeti drugih objekata programa Excel, uključujući Application objekt i Cells zbirku.

' 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

Deklariranje varijable objekta pomoću As Object stvara varijablu koja može sadržavati referencu na bilo koju vrstu objekta. Međutim, pristup objektu putem te varijable kasni; to jest, povezivanje se pojavljuje kada se program pokrene. Da biste stvorili varijablu objekta koja rezultira ranim povezivanjem, to jest, povezivanjem prilikom kompiliranje programa deklariranje varijable objekta određenim ID-om klase. Možete, primjerice, deklarirati i stvoriti sljedeće reference programa Excel:

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)

Referenca kroz rano vezanu varijablu može dati bolje performanse, ali može sadržavati samo referencu na klasa navedeno u deklaracija.

Objekt koji je vratila funkcija CreateObject možete proslijediti funkciji koja očekuje objekt kao argument. Sljedeći kod, primjerice, stvara i prosljeđuje referencu na objekt programa Excel.Application:

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

Objekt na udaljenom mrežnom računalu možete stvoriti tako da naziv računala dodate u argumentnaziv poslužitelja createObject. Taj je naziv isti kao i dio naziva računala u nazivu zajedničkog korištenja: za zajedničko korištenje pod nazivom "\\MyServer\Public", naziv poslužitelja je "MyServer".

Napomena:  Dodatne informacije o tome kako aplikacija biti vidljiva na udaljenom mrežnom računalu potražite u com dokumentaciji (pogledajte Microsoft Developer Network). Možda ćete morati dodati ključ registra za aplikaciju.

Sljedeći kod vraća broj verzije instance programa Excel koja se izvodi na udaljenom računalu pod nazivom MyServer:

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

Ako udaljeni poslužitelj ne postoji ili nije dostupan, pojavljuje se pogreška pri izvođenju.

Napomena:  CreateObject koristite kada nema trenutne instance objekta. Ako je instanca objekta već pokrenuta, pokrenut će se nova instanca i stvorit će se objekt navedene vrste. Da biste koristili trenutnu instancu ili pokrenuli aplikaciju i nametli je da učita datoteku, koristite funkciju GetObject .

Ako se objekt registrira kao objekt s jednom instancom, stvara se samo jedna instanca objekta, bez obzira na to koliko je puta izvršen CreateObject .

Primjer

U ovom se primjeru koristi funkcija CreateObject za postavljanje reference (

xlApp

) u Excel. Koristi referencu za pristup svojstvu Visible u programu Excel, a zatim ga zatvara pomoću metode Excel Quit . Konačno, sama referenca je objavljena.

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.

Potrebna vam je dodatna pomoć?

Želite dodatne mogućnosti?

Istražite pogodnosti pretplate, pregledajte tečajeve za obuku, saznajte kako zaštititi uređaj i još mnogo toga.

Zajednice vam pomažu da postavljate pitanja i odgovarate na njih, pošaljete povratne informacije i čujete se sa stručnjacima s bogatim znanjem.