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 |
sovelluksen nimi |
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ä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ä 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.