Huomautus
Tässä ohjeaiheessa kuvattu funktio, menetelmä, objekti tai ominaisuus ei ole käytössä, jos Microsoft Jet Expression Service toimii eristetyssä tilassa, mikä estää mahdollisesti vahingollisten lausekkeiden arvioimisen. Katso lisätietoja eristetystä tilasta ohjeen ”Eristetty tila” -kohdasta.
Luo ja palauttaa viittauksen ActiveX-objektiin.
Syntaksi
CreateObject(luokka [, palvelimen nimi] )
CreateObject-funktion syntaksilla on seuraavat argumentit:
| Argumentti | Kuvaus |
|---|---|
| luokka | Pakollinen. Variantti (merkkijono). Sovelluksen nimi ja luotavan objektin luokka. |
| palvelinnimi | Valinnainen. Variantti (merkkijono). Sen verkkopalvelimen nimi, johon objekti luodaan. Jos palvelimen nimi on tyhjä merkkijono (""), käytetään paikallista tietokonetta. |
Luokka-argumenttikäyttää syntaksia appname.objecttype ja sisältää seuraavat osat:
| Osa | Kuvaus |
|---|---|
| sovelluksen nimi | Pakollinen. Muuttuja (merkkijono). Sen sovelluksen nimi, joka toimittaa objektin. |
| objektilaji | Pakollinen. Muuttuja (merkkijono). Luotavan objektin laji tai luokka. |
Huomautuksia
Jokaisessa automaattisia toimintoja tukevassa sovelluksessa on vähintään yksi objektilaji. Esimerkiksi tekstinkäsittelyohjelmassa voi olla Sovellus-objekti, Asiakirja-objekti ja Työkalurivi-objekti.
Jos haluat luoda ActiveX-objektin, määritä CreateObjectin palauttama objekti objektimuuttujalle:
Huomautus
Seuraavissa esimerkeissä kerrotaan, kuinka tätä funktiota käytetään Visual Basic for Applications (VBA) -moduulissa. Jos haluat lisätietoja VBA:n käytöstä, valitse Sovelluskehittäjän opasHaku-kentän viereisestä luettelosta ja anna yksi tai useampi hakuehto hakukenttään.
' Declare an object variable to hold the object
' reference. Dim as Object causes late binding.
Dim ExcelSheet As Object
Set ExcelSheet = CreateObject("Excel.Sheet")
Tässä esimerkissä automatisoimme Excel-laskentataulukko-objektin Access-tietokannasta. Tämä koodi käynnistää sovelluksen, joka luo objektin, tässä tapauksessa Microsoft Excel -laskentataulukon. Kun objekti on luotu, voit viitata siihen koodissa käyttämällä määrittämääsi objektimuuttujaa. Seuraavassa esimerkissä voit käyttää uuden objektin ominaisuuksia ja menetelmiä objektimuuttujan ja muiden Excel-objektien, kuten objektin ja kokoelman CellsApplication, ExcelSheetavulla.
' 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
Objektimuuttujan ilmoittaminen lauseella As Object luo muuttujan, joka voi sisältää viittauksen mihin tahansa objektityyppiin. Kun objektia käytetään kyseisen muuttujan välityksellä, sidonta on suorituksenaikainen, eli sidonta tapahtuu, kun ohjelma suoritetaan. Jos haluat luoda objektimuuttujan, jota käytettäessä sidonta on käännöksenaikaista, eli sidonta tapahtuu ohjelman käännöksen aikana, esittele objektimuuttuja tietyllä luokkatunnuksella. Voit esimerkiksi määritellä ja luoda seuraavat Excel-viittaukset:
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)
Varhain sidotun muuttujan kautta tehtävä viittaus voi parantaa suorituskykyä, mutta se voi sisältää vain viittauksen määrityksessä määritettyyn luokkaan.
Voit välittää CreateObject-funktion palauttaman objektin funktioon, joka odottaa argumentiksi objektia. Esimerkiksi Excel.Application-objektin viittaus luodaan ja välitetään seuraavalla koodilla:
Call MySub (CreateObject("Excel.Application"))
Voit luoda objektin etäverkossa olevaan tietokoneeseen siirtämällä tietokoneen nimen CreateObject-funktionpalvelinnimi-argumenttiin. Tämä nimi on sama kuin jaetun nimen Koneen nimi -osa: jaettaessa "\\MyServer\Public" palvelimen nimi on "MyServer".
Huomautus
Lisätietoja verkossa olevan etätietokoneen sovelluksen määrittämisestä näkyväksi on COM-ohjeissa (Microsoft Developer Network -sivustossa). Ohjeiden käyttäminen voi edellyttää, että lisäät sovellukselle rekisteriavaimen.
Seuraava koodi palauttaa excel-esiintymän versionumeron, joka suoritetaan etätietokoneessa nimeltä MyServer:
Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application", "MyServer")
Debug.Print xlApp.Version
Jos etäpalvelinta ei ole tai se ei ole käytettävissä, tapahtuu suorituksenaikainen virhe.
Huomautus
Käytä CreateObject-funktiota, kun objektilla ei ole nykyistä esiintymää. Jos objektin esiintymä on jo käynnissä, uusi esiintymä käynnistetään ja määritetyn tyyppinen objekti luodaan. Jos haluat käyttää nykyistä esiintymää tai käynnistää sovelluksen ja määrittää sen lataamaan tiedoston, käytä GetObject-funktiota.
Jos objekti on rekisteröinyt itsensä yhden esiintymän objektiksi, objektin esiintymiä luodaan vain yksi huolimatta siitä, kuinka monta kertaa CreateObject-funktio suoritetaan.
Esimerkki
Tässä esimerkissä CreateObject-funktiota käytetään määrittämään viittaus (
xlApp
) Exceliin. Funktio käyttää viittauksen avulla Excelin Visible-ominaisuutta ja sulkee sen sitten Excelin Quit-menetelmällä. Lopuksi itse viittaus vapautetaan.
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.