Funkcija CreateObject

Piezīme.: Mēs vēlamies sniegt jums visjaunāko palīdzības saturu jūsu valodā, cik vien ātri to varam. Šī lapa ir tulkota automatizēti, un tajā var būt gramatiskas kļūdas un neprecizitātes. Mūsu nolūks ir šo saturu padarīt jums noderīgu. Vai lapas lejasdaļā varat mums pavēstīt, vai informācija jums noderēja? Ērtai atsaucei šeit ir šis raksts angļu valodā.

Piezīme.: Šajā tēmā aprakstītā funkcija, metode, objekts vai rekvizīts ir atspējots, ja Microsoft Jet Expression Service darbojas smilškastes režīmā, kas novērš potenciāli nedrošu izteiksmju novērtējumu. Lai iegūtu papildinformāciju par smilškastes režīmu, sadaļā Palīdzība meklējiet "smilškastes režīms".

Izveido un atgriež atsauci uz ActiveX objektu.

Sintakse

CreateObject ( klase [, servera nosaukums] )

Funkcijas CreateObject sintaksei ir šādi argumenti.

Arguments

Apraksts

klase

Obligāts. Variant (Virkne). Izveidojamā objekta lietojumprogrammas nosaukums un klase.

servername

Nav obligāts. Variant (Virkne). Tā tīkla servera nosaukums, kurā tiks izveidots objekts. Ja servera nosaukums ir tukša virkne (""), tiek izmantots lokālais dators.


Klases arguments izmanto sintaksi programmā General_AppName.objecttype ir šādas daļas:

Daļa

Apraksts

APPNAME

Obligāts. Variant (Virkne). Tās lietojumprogrammas nosaukums, kura nodrošina objektu.

objecttype

Obligāts. Variant (Virkne). Veidojamā objekta tips vai klase.


Piebildes

Visas lietojumprogrammas, kas atbalsta automatizāciju, nodrošina vismaz vienu objekta tipu. Piemēram, tekstapstrādes programma var nodrošināt lietojumprogrammas objektu, dokumenta objektu un rīkjoslas objektu.

Lai izveidotu ActiveX objektu, piešķiriet CreateObject atgriezto objektu objekta mainīgais:

Piezīme.: Turpmākajos piemēros redzama šīs funkcijas izmantošana Visual Basic for Applications (VBA) modulī. Lai iegūtu papildinformāciju par darbu ar VBA, nolaižamajā sarakstā atlasiet Uzziņas materiāli izstrādātājiem blakus meklēšanas lodziņam un ievadiet šajā lodziņā vienu vai vairākus vārdus.

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

Šajā piemērā mēs automatizējam Excel izklājlapas objektu no Access datu bāzes. Šis kods sāk lietojumprogrammu izveidot objektu, šajā gadījumā Microsoft Excel izklājlapā. Pēc tam, kad objekts ir izveidots, atsaucei tas ir kodā, izmantojot jūsu definēto objekta mainīgo. Tālāk esošajā piemērā jūs piekļūstat jaunā objekta rekvizītiem un metodēm, izmantojot objekta mainīgo, ExcelSheetun citus Excel objektus, ieskaitot Application objektu un 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

Objekta mainīgā deklarēšana, izmantojot klauzulu As Object , izveido mainīgo, kurā var būt atsauce uz jebkura tipa objektu. Taču piekļuve objektam, izmantojot šo mainīgo, ir nokavēta. Tas nozīmē, ka saistījums notiek, kad tiek palaista programma. Lai izveidotu objekta mainīgo, kas veido agrīnu saistījumu, tas ir, saistījums, kad programma ir kompilēta, deklarējiet objekta mainīgo ar konkrētu klases ID. Piemēram, varat deklarēt un izveidot šādas Excel atsauces:

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)

Atsauce no agra saistītā mainīgā var nodrošināt labāku veiktspēju, bet var būt tikai atsauce uz klase norādīto deklarācija.

Funkciju CreateObject atgrieza objektam varat padot uz funkciju, kas tiek gaidīta kā arguments. Piemēram, šis kods izveido un nodod atsauci uz Excel. Application objektu:

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

Varat izveidot objektu attālā tīkla datorā, novirzot datora nosaukumu uz CreateObject. Šis nosaukums ir tāds pats kā koplietojuma nosaukuma daļas datora nosaukums: koplietojumam ar nosaukumu "\\Mansserveris\publisks" nosaukums ir "myserver".

Piezīme.:  Papildinformāciju par to, kā lietojumprogrammu padarīt redzamu attālā tīkla datorā, skatiet COM dokumentācijā (skatiet Microsoft izstrādātāju tīklā). Jums, iespējams, būs jāpievieno lietojumprogrammas reģistra atslēga.

Šis kods atgriež tā Excel instances versijas numuru, kas darbojas attālajā datorā ar nosaukumu MyServer:

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

Ja attālais serveris nepastāv vai nav pieejams, rodas izpildlaika kļūda.

Piezīme.:  Izmantojiet CreateObject , ja objektam nav pašreizējās instances. Ja objekta instance jau darbojas, tiek sākta jauna instance un izveidots norādītā tipa objekts. Lai izmantotu pašreizējo instanci vai startētu lietojumprogrammu un to ielādētu, izmantojiet funkciju GetObject .

Ja objekts ir reģistrēts kā viena gadījuma objekts, tiek izveidots tikai viens objekta gadījums neatkarīgi no tā, cik reizes CreateObject tiek izpildīts.

Piemērs

Šajā piemērā funkcija CreateObject tiek izmantota, lai iestatītu atsauci (

xlApp

) uz Excel. Tajā ir izmantota atsauce, lai piekļūtu Excel redzamajam rekvizītam, un pēc tam izmanto programmu Excel Quit , lai to aizvērtu. Visbeidzot, atsauce tiek izlaista.

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.
Paplašiniet savas Office prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Office Insider programmai

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta aģentiem.

×