Piezīme.: Šajā tēmā aprakstītā funkcija, metode, objekts vai rekvizīts tiek atspējots, ja Microsoft Jet Expression Service darbojas smilškastes režīmā, tā neļauj novērtēt potenciāli nedrošas izteiksmes. Lai iegūtu papildinformāciju par smilškastes režīmu, meklējiet "smilškastes režīms" sadaļā Palīdzība.
Izveido un atgriež atsauci uz ActiveX objektu.
Sintakse
CreateObject ( klase [, servera_nosaukums] )
Funkcijas CreateObject sintaksē ir šādi argumenti:
Arguments |
Apraksts |
klase |
Obligāts arguments. Variants (Virkne). Izveidojamā objekta lietojumprogrammas nosaukums un klase. |
servera_nosaukums |
Neobligāts arguments. Variants (Virkne). Tīkla servera nosaukums, kurā tiks izveidots objekts. Ja servera_nosaukums ir tukša virkne (""), tiek izmantots lokālais dators. |
Klases nosaukumsarguments izmantota sintakses lietojumprogrammas nosaukums.objecttype un ir šādas daļas:
Daļa |
Apraksts |
programmas_nosaukums |
Obligāts arguments. Variants (Virkne). Tās lietojumprogrammas nosaukums, kas nodrošina objektu. |
objekta tips |
Obligāts arguments. Variants (Virkne). Izveidojamā klase tips vai nosaukums. |
Piebildes
Katra lietojumprogramma, kas atbalsta automatizāciju, nodrošina vismaz viena veida objektu. Piemēram, tekstapstrādes lietojumprogrammā var būt lietojumprogrammas objekts, dokumenta objekts un rīkjoslas objekts.
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ēsim Excel izklājlapas objektu no Access datu bāzes. Ar šo kodu tiek startēta lietojumprogramma, kas veido objektu, šajā gadījumā Microsoft Excel izklājlapa. Kad objekts ir izveidots, norādiet uz to kodā, izmantojot definēto objekta mainīgo. Šajā piemērā tiek piekļūti 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
Deklarējot objekta mainīgo ar As Object , tiek izveidots mainīgais, kas var ietvert atsauci uz jebkura tipa objektu. Tomēr piekļuve objektam, izmantojot šo mainīgo, ir vēlāka piesaiste; tas ir, saistīšana notiek, kad tiek palaista programma. Lai izveidotu objekta mainīgo, kura rezultātā tiek sasniegta agrāka saistīšana, t.i., saistīšana, kad programma tiek kompilēta, norādiet objekta mainīgo ar noteiktu klases ID. Piemēram, varat paziņot 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, izmantojot agrīno saistīto mainīgo, var nodrošināt labāku veiktspēju, bet var ietvert tikai atsauci uz klase kas norādīta deklarācija.
Varat nodot funkcijas CreateObject atgriezto objektu funkcijai, kas gaida objektu kā argumentu. Piemēram, tālāk redzamais kods izveido un nodod atsauci uz objektu Excel.Application:
Call MySub (CreateObject("Excel.Application"))
Varat izveidot objektu attālā tīkla datorā, nododot datora nosaukumu argumentam ServerName no CreateObject. Šis nosaukums ir tāds pats kā koplietošanas nosaukuma daļa Datora nosaukums: koplietojumam "\\MyServer\Public" servername ir "MyServer".
Piezīme.: Papildinformāciju par to, kā programma ir redzama attālajā tīkla datorā, skatiet COM dokumentācijā (skatiet rakstu Microsoft izstrādātāju tīkls). Iespējams, ka būs jāpievieno lietojumprogrammas reģistra atslēga.
Tālāk redzamais kods atgriež tās programmas 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 nav objekta pašreizējās instances. Ja objekta instance jau darbojas, tiek sākta jauna instance un tiek izveidots norādītā tipa objekts. Lai izmantotu pašreizējo instanci vai startētu lietojumprogrammu un tā ielādētu failu, izmantojiet funkciju GetObject .
Ja objekts ir reģistrēts kā vienas instances objekts, tiek izveidota tikai viena objekta instance neatkarīgi no tā, cik reižu tiek izpildīta CreateObject .
Piemērs
Šajā piemērā izmantota funkcija CreateObject , lai iestatītu atsauci (
xlApp
). Tā izmanto atsauci, lai piekļūtu programmas Excel rekvizītam Visible , un pēc tam izmanto Excel aizvēršanas metodi, lai to aizvērtu. Visbeidzot tiek izlaista pati atsauce.
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.