Funktionen CreateObject

Bemærk: Funktionen, metoden, objektet eller egenskaben, der er beskrevet i dette emne, deaktiveres, hvis Microsoft Jet Expression Service kører i sandkassetilstand, hvilket forhindrer evalueringen af potentielt usikre udtryk. Søg efter "sandkassetilstand" i Hjælp, hvis du vil have mere at vide om sandkassetilstand.

Opretter og returnerer en reference til et ActiveX-objekt.

Syntaks

CreateObject ( klasse [, servernavn] )

Syntaksen for funktionen CreateObject har disse argumenter:

Argument

Beskrivelse

klasse

Obligatorisk. Variant (Streng). Programnavnet og klasse af det objekt, der skal oprettes.

servernavn

Valgfrit. Variant (Streng). Navnet på den netværksserver, hvor objektet oprettes. Hvis servernavn er en tom streng (""), bruges den lokale computer.


Klasse argument anvender syntaksen appnavn.objekttype og indeholder følgende dele:

Del

Beskrivelse

appnavn

Obligatorisk. Variant (Streng). Navnet på det program, der leverer objektet.

objekttype

Obligatorisk. Variant (Streng). Den type eller klasse af objekt, der skal oprettes.


Bemærkninger

Hvert program, der understøtter automatisering, indeholder mindst én type objekt. Eksempelvis kan et program til tekstbehandling levere et program-objekt, et dokument-objekt og et værktøjslinje-objekt.

Hvis du vil oprette et ActiveX-objekt, skal du tildele det objekt, der returneres af CreateObject, til en objektvariabel:

Bemærk: Følgende eksempler demonstrerer brugen af denne funktion i et VBA-modul (Visual Basic for Applications). Hvis du vil have mere at vide om at arbejde med VBA, skal du vælge Udviklerreference på rullelisten ud for Søg og skrive ét eller flere ord i søgefeltet.

' 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 kode starter programmet, der opretter objektet, i dette tilfælde et Microsoft Office Excel 2007-regneark. Når et objekt er oprettet, kan du referere til det i kode vha. den objektvariabel, du har defineret. I følgende eksempel får du adgang til det nye objekts egenskaber og metoder ved hjælp af objektvariablen, ExcelSheet, og andre Excel-objekter, herunder objektet Application 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

Erklæring af objektvariablen med delsætningen As Object opretter en variabel, der kan indeholde en reference til en hvilken som helst type objekt. Adgang til objektet via denne variabel er dog med sen binding. Det vil sige, at bindingen sker, når dit program køres. Hvis du vil oprette en objektvariabel, der resulterer i tidlig binding, dvs. binding, når programmet kompileres, skal du erklære objektvariablen med et specifikt klasse-id. Du kan f.eks. erklære og oprette følgende Excel-referencer:

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)

Referencen gennem en tidligt bundet variabel kan give bedre ydeevne, men kan kun indeholde en reference til det klasse, der er angivet i erklæring.

Du kan videregive et objekt, der returneres af funktionen CreateObject, til en funktion, der forventer et objekt som argument. Eksempelvis opretter og videregiver følgende kode en reference til et Excel.Application-objekt:

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

Du kan oprette et objekt på en fjerncomputer på netværket ved at videregive navnet på computeren til argumentet servernavn for CreateObject. Dette navn er det samme som Computernavn-delen af et sharenavn: for et share med navnet "\\MyServer\Public" er servernavn "MyServer".

Bemærk:  Se COM-dokumentationen (se Microsoft Developer Network) for at få mere at vide om at gøre et program synligt på en fjerncomputer i et netværk. Du skal muligvis tilføje en registreringsdatabasenøgle i dit program.

Den følgende kode returnerer versionsnummeret af en forekomst af Excel, der kører på en fjerncomputer med navnet MyServer:

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

Hvis fjernserveren ikke findes eller ikke er tilgængelig, opstår der en kørselsfejl.

Bemærk:  Brug CreateObject, når der ikke er nogen aktuel forekomst af objektet. Hvis der allerede kører en forekomst af objektet, startes der en ny forekomst, og der oprettes et objekt af den angivne type. Brug funktionen GetObject for at bruge den aktuelle forekomst eller for at starte programmet og få det til at indlæse en fil.

Hvis et objekt har registreret sig som et enkelt-forekomst-objekt, oprettes der kun én forekomst af objektet, uanset hvor mange gange CreateObject køres.

Eksempel

I dette eksempel bruges funktionen CreateObject til at angive en reference (

xlApp

) til Excel. Referencen bruges til at få adgang til Excel-egenskaben Synlig og bruger derefter Excel-metoden Afslut til at lukke den. Til sidst frigives selve referencen.

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.
Udvid dine færdigheder
Gå på opdagelse i kurser
Få nye funktioner først
Bliv Office Insider

Var disse oplysninger nyttige?

Tak for din feedback!

Tak for din feedback! Det lyder, som om det vil kunne hjælpe, hvis du bliver sat i forbindelse med en af vores Office-supportteknikere.

×