Funkcija „CreateObject“

Napomena: Želimo da vam što pre pružimo najnoviji sadržaj pomoći čim na vašem jeziku. Ova stranica je prevedena automatski i može da sadrži gramatičke greške ili netačnosti. Naš cilj je da ovaj sadržaj bude koristan. Možete li nam na dnu ove stranice saopštiti da li su vam informacije bile od koristi? Ovo je članak na engleskom jeziku za brzu referencu.

Napomena: Funkcija, metod, objekat ili svojstvo opisane u ovoj temi je onemogućen ako Microsoft Jet Expression usluge pokrenut u "sandbox" režim, što sprečava od potencijalno nebezbedne izraze. Za više informacija o "sandbox" režim potražite”„sandbox „režim” u pomoći.

Pravi i daje referencu na ActiveX objekat.

Sintaksa

CreateObject ( klase [, imeservera] )

Sintaksa funkcije CreateObject ima sledeće argumente:

Argument

Opis

klase

Obavezno. Varijante (Niska). Ime aplikacije i klasa objekta da biste kreirali.

ime servera

Opcionalno. Varijante (Niska). Ime servera na mreži gde će se kreirati objekat. Ako je imeservera prazna niska ("”), na lokalnom računaru koristi.


Klasa argument koristi sintaksu imeaplikacije.tip objekta i ima tri dela:

Deo

Opis

APPNAME

Obavezno. Varijante (Niska). Ime aplikacije koja obezbeđuje objekat.

Tip objekta

Obavezno. Varijante (Niska). Tipa ili klasa objekta da biste kreirali.


Primedbe

Svaka aplikacija koja podržava automatizovanje pruža barem jedan tip objekta. Na primer, aplikacija za obradu može da pruži aplikacije objekat, objekat dokumenta i objekta u traci sa alatkama .

Da biste kreirali objekat ActiveX, dodelite objekat vratio CreateObject da je promenljiva objekta:

Napomena: Primeri koji slede pokazuju upotrebu ove funkcije u Visual Basic for Applications (VBA) modulu. Ako vam je potrebno više informacija o radu sa VBA modulom, izaberite stavku Referenca razvojnog programera sa padajuće liste pored stavke Pretraga i unesite jedan ili više termina 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")

Ovaj kôd pokreće aplikaciju kreirajući objekat, u ovom slučaju, Microsoft Office Excel 2007 unakrsne tabele. Kada se kreira objekat, ne upućujete u kodu koristeći promenljivu objekta koji ste definisali. U sledećem primeru, možete pristupiti svojstva i metode novog objekta pomoću promenljive objekta, ExcelSheeti drugih Excel objekata, uključujući Application objekta i Cells kolekcije.

' 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

Deklarisanje promenljive objekta sa As Object odredbom kreira promenljivu koje mogu da sadrže referencu na bilo koji tip objekta. Međutim, pristup objektima pomoću te promenljive kasni povezana; To jest, povezivanje se javlja kada se program pokreće. Da biste kreirali promenljive objekta čiji je rezultat rano povezivanje, to jest, povez kada se program pokrene, prijavite promenljiva objekta sa određenim klase ID. Na primer, možete da deklarišete i da kreirate Excel reference na sledeće:

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 pomoću promenljivu povezane sa početkom može da pruži bolje performanse, ali može da sadrži samo referencu na klasa naveden u deklaracija.

Možete dodati objekat vratio funkcija CreateObject u funkciju očekuje objekat kao argument. Na primer, sledeći kôd kreira i prosleđuje referencu na objekat Excel.Application:

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

Možete da kreirate objekat na udaljenom umreženom računaru tako što ćete proslediti ime računara argumentu imeserveraCreateObject. To ime je isto kao ime mašine deo deli ime: ime servera je za deo koji se zove „\\MyServer\Public”, „Myserver|UID”.

Napomena: Pogledajte COM dokumentaciju (pogledajte članak Microsoft Developer Network) za dodatne informacije o tome kako da aplikacija vidljiva na udaljenom umreženom računaru. Možda ćete morati da dodate ključ registratora za aplikaciju.

Sledeći kôd daje broj verzije instanci programa Excel na udaljenom računaru koji se zove MyServer:

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

Ako Udaljeni server je nedostupan ili ne postoji, dolazi do greške u izvršavanju.

Napomena: Koristite CreateObject kada postoji tekuća instanca objekta. Ako instancu objekta već pokrenut, posla pokreće novu instancu i kreira objekat navedenog tipa. Da biste koristili u trenutnoj instanci ili da biste pokrenuli aplikaciju koja će učitati datoteku, koristite funkciju GetObject .

Ako objekat ima samu registrovana kao objekta u jednom instancom, samo jednom instancom objekta se kreira, bez obzira koliko puta CreateObject se izvršava.

Primer

Ovaj primer koristi funkciju CreateObject da biste podesili reference)

xlApp

) u programu Excel. Ona referencu koristi za pristup svojstvo " Visible " programa Excel, a zatim koristi Excel Quit metoda da biste je zatvorili. Na kraju, referenca je objavila.

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.
Razvijte Office veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Office Insider korisnicima

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Zvuči da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×