Applies ToAccess for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Obs!: Funksjonen, metoden, objektet eller egenskapen som beskrives i dette emnet, er deaktivert hvis Microsoft Jet Expression Service kjører i sandkassemodus, noe som forhindrer 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 et ActiveX-objekt.

Syntaks

CreateObject ( class [, servername] )

Syntaksen for funksjonen CreateObject har følgende argumenter:

Argument

Beskrivelse

klasse

Obligatorisk. Variant (streng). Programnavnet og klassen for objektet som skal opprettes.

Servernavn

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

Klassen argument bruker syntaksappnavnet.objecttype og har disse delene:

Del

Beskrivelse

appname

Obligatorisk. Variant (streng). Navnet på programmet som inneholder objektet.

objecttype

Obligatorisk. Variant (streng). Typen eller klasse objektet som skal opprettes.

Kommentarer

Hvert program som støtter automatisering gir minst én type objekt. Et tekstbehandlingsprogram kan for eksempel gi et programobjekt , et dokumentobjekt og et verktøylinjeobjekt .

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

Obs!: 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 ObjectSet ExcelSheet = CreateObject("Excel.Sheet")

I dette eksemplet automatiserer vi et Excel-regnearkobjekt fra en Access-database. Denne koden starter programmet som oppretter objektet, i dette tilfellet et Microsoft Excel-regneark. Når et objekt er opprettet, refererer du det til i kode ved hjelp av objektvariabelen du definerte. I eksemplet nedenfor får du tilgang til egenskaper og metoder for det nye objektet ved hjelp av objektvariabelen, ExcelSheetog andre Excel-objekter, inkludert Application -objektet og Cells -samlingen.

' 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

Når du deklarerer en objektvariabel med As Object -setningsdelen, opprettes en variabel som kan inneholde en referanse til alle typer objekter. Tilgang til objektet gjennom denne variabelen er imidlertid forsinket bundet. det vil eksempelvis oppstå bindingen når programmet kjøres. Hvis du vil opprette en objektvariabel som resulterer i tidlig binding, det vil si binding når programmet kompileres, deklarerer du objektvariabelen med en bestemt klasse-ID. Du kan for eksempel erklære og opprette følgende Excel-referanser:

Dim xlApp As Excel.Application Dim xlBook As Excel.WorkbookDim xlSheet As Excel.WorkSheetSet xlApp = CreateObject("Excel.Application")Set xlBook = xlApp.Workbooks.AddSet xlSheet = xlBook.Worksheets(1)

Referansen gjennom en tidlig bundet variabel kan gi bedre ytelse, men kan bare inneholde en referanse til klasse som er 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 for eksempel en referanse til et Excel.Application-objekt:

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

Du kan opprette et objekt på en ekstern nettverksdatamaskin ved å sende navnet på datamaskinen til servernavnargumentetfor CreateObject. Dette navnet er det samme som Maskinnavn-delen av et delingsnavn: For en delt ressurs kalt \\Minserver\Offentlig er servernavnet «Minserver».

Obs!:  Se COM-dokumentasjon (se Microsoft Developer Network) for mer informasjon om hvordan du gjør et program synlig på en ekstern nettverksdatamaskin. Du må kanskje legge til en registernøkkel for programmet.

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

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

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

Obs!:  Bruk CreateObject når det ikke finnes noen gjeldende forekomst av objektet. Hvis en forekomst av objektet allerede kjører, startes en ny forekomst, og et objekt av den angitte typen opprettes. Hvis du vil bruke gjeldende forekomst, eller for å starte programmet og få det til å laste inn en fil, bruker du GetObject-funksjonen .

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

Eksempel

Dette eksemplet bruker CreateObject-funksjonen til å angi en referanse (

xlApp

) til Excel. Den bruker referansen til å få tilgang til egenskapen Synlig i Excel, og bruker deretter Excel Quit-metoden til å lukke den. Til slutt utgis 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.

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.

Fellesskap hjelper deg med å stille og svare på spørsmål, gi tilbakemelding og høre fra eksperter med stor kunnskap.