Napomena: Funkcija, metod, objekat ili svojstvo opisano u ovoj temi onemogućena je ako je usluga Microsoft Jet Expression pokrenuta u režimu sandbox, što sprečava procenu potencijalno nebezbednih izraza. Više informacija o režimu "sandbox" potražite u odeljku "režim sandbox" u pomoći.
Kreira i vraća referencu na ActiveX objekat.
Sintaksa
CreateObject ( klasa [, ime servera] )
Sintaksa funkcije CreateObject ima sledeće argumente:
Argument |
Opis |
klasa |
Obavezno. Varijanta (niska). Ime aplikacije i klasa objekta koji treba kreirati. |
ime servera |
Opcionalno. Varijanta (niska). Ime mrežnog servera na kojem će objekat biti kreiran. Ako je ime servera prazna niska (""), koristi se lokalni računar. |
Klasa argument koristi sintaksno ime aplikacije.objecttype i ima sledeće delove:
Deo |
Opis |
ime aplikacije |
Obavezno. Varijanta (niska). Ime aplikacije koja obezbeđuje objekat. |
tip objekta |
Obavezno. Varijanta (niska). Tip ili klasa objekta koji treba kreirati. |
Napomene
Svaka aplikacija koja podržava automatizaciju pruža najmanje jedan tip objekta. Na primer, aplikacija za obradu teksta može da obezbedi objekat Aplikacije , objekat dokumenta i objekat trake sa alatkama .
Da biste kreirali ActiveX objekat, dodelite objekat koji je vratio CreateObjectpromenljiva objekta:
Napomena: Primeri koji slede pokazuju upotrebu ove funkcije u Visual Basic for Applications (VBA) modulu. Za više informacija o radu sa VBA modulom izaberite stavku Referenca razvojnog programera sa padajuće liste pored stavke Pretraga i unesite termine u polje za pretragu.
' Declare an object variable to hold the object
' reference. Dim as Object causes late binding. Dim ExcelSheet As Object Set ExcelSheet = CreateObject("Excel.Sheet")
U ovom primeru automatizovaćemo objekat Excel unakrsne tabele iz Access baze podataka. Ovaj kôd pokreće aplikaciju koja kreira objekat, u ovom slučaju, Microsoft Excel unakrsnu tabelu. Kada se objekat kreira, upućujete na njega pomoću promenljive objekta koju ste definisali. U sledećem primeru možete da pristupite svojstvima i metodama novog objekta pomoću promenljive objekta, ExcelSheeti drugih Excel objekata, uključujući Application objekat i Cells kolekciju.
' 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
Ako deklarisanje promenljive objekta sa odredbom As Object kreira promenljivu koja može da sadrži referencu na bilo koji tip objekta. Međutim, pristup objektu kroz tu promenljivu je zakasneo; to ješću, povezivanje se odvija kada je program pokrenut. Da biste kreirali promenljivu objekta koja za rezultat ima rano povezivanje, tj. povezivanje prilikom sastavljanja programa, deklarišite promenljivu objekta sa određenim ID-om klase. Na primer, možete da deklarišete i kreirate sledeće Excel reference:
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)
Referenca kroz promenljivu rane granice može da pruži bolje performanse, ali može da sadrži samo referencu na klasa navedenu u deklaracija.
Objekat koji vraća funkcija CreateObject možete da dodate u funkciju u kojoj se objekat očekuje kao argument. Na primer, sledeći kôd kreira i dodaje referencu na Excel.Application objekat:
Call MySub (CreateObject("Excel.Application"))
Objekat na udaljenom mrežnom računaru možete da kreirate tako što ćete ime računara preneti u argument ime serverafunkcije CreateObject. To ime je isto kao deo imena deljenja Ime računara: za deo koji se zove "\\MyServer\Public", ime servera je "Moj server".
Napomena: Pogledajte COM dokumentaciju (pogledajte Microsoft Developer Network) za dodatne informacije o tome kako da aplikacija bude vidljiva na udaljenom mrežnom računaru. Možda ćete morati da dodate ključ registratora za aplikaciju.
Sledeći kôd daje broj verzije instance programa Excel pokrenute na udaljenom računaru pod imenom MyServer:
Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application", "MyServer") Debug.Print xlApp.Version
Ako udaljeni server ne postoji ili nije dostupan, dolazi do greške u izvršavanju.
Napomena: Koristite CreateObject kada ne postoji trenutna instanca objekta. Ako je instanca objekta već pokrenuta, pokreće se nova instanca i kreira se objekat navedenog tipa. Da biste koristili trenutnu instancu ili da biste pokrenuli aplikaciju i učitali datoteku, koristite funkciju GetObject .
Ako se objekat registrovao kao objekat sa jednom instancom, kreira se samo jedna instanca objekta, bez obzira na to koliko se puta createObject izvršava.
Primer
Ovaj primer koristi funkciju CreateObject za postavljanje reference (
xlApp
) u Excel. Ona koristi referencu za pristup svojstvu Vidljivo programa Excel, a zatim koristi metod "Excel Quit" da bi ga zatvorio. Na kraju, sama referenca se objavljuje.
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.