CreateObject-funktio

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 [, palvelinnimi] )

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 palvelinnimi on tyhjä merkkijono (""), käytetään paikallista tietokonetta.


Luokka -argumentti käyttää syntaksia sovellusnimi.objektilaji ja sisältää seuraavat osat:

Osa

Kuvaus

sovellusnimi

Pakollinen. Muuttuja (merkkijono). Sen sovelluksen nimi, joka toimittaa objektin.

objektilaji

Pakollinen. Variantti (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.

Voit luoda ActiveX-objektin määrittämällä CreateObject-funktion palauttaman objektin objektimuuttujan:

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ämä koodi käynnistää sovelluksen ja luo objektin, tässä tapauksessa Microsoft Office Excel 2007 -laskentataulukon. Kun objekti on luotu, voit viitata siihen koodissa käyttämällä määrittämääsi objektimuuttujaa. Seuraavassa esimerkissä käytät uuden objektin ominaisuuksia ja menetelmiä käyttämällä objektimuuttujaa ExcelSheet sekä muita Excel-objekteja, kuten Application-objekti ja Cells-kokoelma.

' 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

Kun objektimuuttuja määritellään As Object-lauseella, ohjelma muodostaa muuttujan, joka voi sisältää viittauksen kaikkiin objektilajeihin. 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)

Käännöksenaikaisen muuttujan avulla toteutettu viittaus voi toimia tehokkaammin, mutta se voi sisältää viittauksen vain määritys-vaiheessa 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 verkossa olevaan etätietokoneeseen välittämällä tietokoneen nimen CreateObject-funktion palvelinnimi-argumentille. Kyseinen nimi on sama kuin jaetun resurssin tietokonenimiosa; jos jaetun resurssin nimi on \\OmaPalvelin\Julkinen, palvelinnimi-argumentti on OmaPalvelin.

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 etätietokoneessa MyServer suoritettavan Excel-esiintymän versionumeron:

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.
Kehitä taitojasi
Tutustu koulutusmateriaaliin
Saat uudet ominaisuudet ensimmäisten joukossa
Liity Office Insider -käyttäjiin

Oliko näistä tiedoista hyötyä?

Kiitos palautteesta!

Kiitos palautteestasi! Näyttää siltä, että Office-tukiedustajamme avusta voi olla sinulle hyötyä.

×