CreateObject, funksjon

Viktig: Denne artikkelen er maskinoversatt, se ansvarsfraskrivelsen. Du finner den engelske versjonen av artikkelen her som referanse.

Merknad: Funksjonen, metoden, objektet eller egenskapen som er beskrevet i dette emnet er deaktivert hvis Microsoft Jet Expression Service kjører i sandkassemodus, som hindrer evaluering av potensielt usikre uttrykk. Hvis du vil ha mer informasjon om sandkassemodus, kan du søke etter "sandkassemodus" i Hjelp.

Oppretter og returnerer en referanse til en ActiveX-objekter.

Syntaks

CreateObject ( klasse [, servernavn] )

Syntaksen for CreateObject -funksjonen har disse argumentene:

Argument

Beskrivelse

Klassen

Obligatorisk. Variant (Streng). Programnavnet og klassen på objektet du vil opprette.

servernavn

Valgfritt. Variant (Streng). Navnet på nettverksserver der objektet skal opprettes. Hvis servernavn er en tom streng (""), brukes den lokale datamaskinen.


Klassen argument bruker syntaksen programnavn.Objekttype og har følgende deler:

Del

Beskrivelse

programnavn

Obligatorisk. Variant (Streng). Navnet på programmet som leverer objektet.

Objekttype

Obligatorisk. Variant (Streng). Skriv inn eller klasse for objektet som skal opprettes.


Kommentarer

Alle programmer som støtter automatisering inneholder minst én type objekt. Et program for behandling av word kan for eksempel gi en programobjektet , et dokumentobjekt og et objekt på verktøylinjen .

Hvis du vil opprette en ActiveX-objekt, tilordner du objektet som returneres av CreateObject til en objektvariabel:

Merknad: I eksemplene nedenfor vises bruken av denne funksjonen i en VBA-modul (Visual Basic for Applications). Hvis du vil ha mer informasjon om hvordan du arbeider med VBA, velger du Utviklerreferanse fra rullegardinlisten ved siden av Søk og skriver inn ett eller flere søkeord i søkeboksen.

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

Denne koden starter programmet som oppretter objektet, i dette tilfellet en Microsoft Office Excel 2007-regneark. Når et objekt er opprettet, refererer du det i koden ved hjelp av objektvariabel du definert. I eksemplet nedenfor tilgang du egenskapene og metodene for det nye objektet ved hjelp av objektvariabelen, ExcelSheetog andre Excel-objekter, inkludert Application objektet og samlingen Cells .

' 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

Angir en objektvariabel med setningsdelen As Object oppretter en variabel som kan inneholde en referanse til en hvilken som helst objekttype. Tilgang til objektet via denne variabelen er imidlertid sent bundet; Det vil si oppstår bindingen når programmet kjøres. Hvis du vil opprette en objektvariabel som resulterer i tidlig binding det vil si binding når er kompilert programmet, kan du angi objektvariabel med en bestemt klasse-ID. Du kan for eksempel deklarere og opprette følgende Excel referanser:

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)

Referansen via en variabel for tidlig binding kan gi bedre ytelse, men kan bare inneholde en referanse til klasse angitt i deklarasjon.

Du kan sende et objekt som returneres av CreateObject -funksjonen til en funksjon som forventer et objekt som et argument. Følgende kode oppretter og sender en referanse til et Excel.Application-objekt:

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

Du kan opprette et objekt på en ekstern datamaskin som et nettverk ved å sende navnet på datamaskinen til servernavn -argumentet i CreateObject. Dette navnet er den samme som navnet på maskinen-delen av navnet på en delt: servernavn er for en ressurs med navnet "\\MyServer\Public", "MyServer".

Merknad: COM-dokumentasjonen (se Microsoft Developer Network) for mer informasjon om hvordan du gjør et program synlig på en ekstern datamaskin som et nettverk. Du må kanskje legge til en registernøkkel for programmet.

Følgende kode returnerer versjonsnummeret til en forekomst av Excel kjører på en ekstern datamaskin kalt MyServer:

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

Hvis den eksterne serveren finnes ikke eller er utilgjengelig, oppstår det en kjøretidsfeil.

Merknad: Bruk CreateObject når det ikke er noen gjeldende forekomst av objektet. Hvis en forekomst av objektet allerede kjører, startes en ny forekomst og et objekt for den angitte typen er opprettet. Bruke den gjeldende forekomsten, eller hvis du vil starte programmet og laste en fil, kan du bruke funksjonen GetObject .

Hvis et objekt har registrert seg selv som et objekt én forekomst, opprettes bare én forekomst av objektet, uansett hvor mange ganger CreateObject utføres.

Eksempel

Dette eksemplet bruker funksjonen CreateObject til å angi et referanse (

xlApp

) til Excel. Den bruker referansen til å få tilgang til egenskapen Visible for Excel, og deretter bruker metoden Excel Avslutt for å lukke den. Til slutt frigis selve referansen.

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.

Merknad: Ansvarsfraskrivelse for maskinoversettelse: Denne artikkelen er oversatt av et datasystem i stedet for en oversetter. Microsoft tilbyr disse maskinoversettelsene slik at brukere som ikke snakker engelsk, får tilgang til innhold om Microsoft-produkter, -tjenester og –teknologier. Ettersom artikkelen er maskinoversatt, kan den inneholde feil i vokabular, syntaks eller grammatikk.

Utvid ferdighetene dine
Utforsk opplæring
Vær først ute med de nye funksjonene
Bli med i Office Insiders

Var denne informasjonen nyttig?

Takk for tilbakemeldingen!

Takk for tilbakemeldingen! Det høres ut som det kan være lurt å sette deg i kontakt med én av våre Office-kundestøtteagenter.

×