Applies ToAccess för Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Obs!: Funktionen, metoden, objektet eller egenskapen som beskrivs i det här avsnittet inaktiveras om Microsoft Jet Expression Service körs i begränsat läge, vilket förhindrar utvärderingen av potentiellt osäkra uttryck. Om du vill ha mer information om begränsat läge söker du efter "begränsat läge" i hjälpen.

Skapar och returnerar en referens till ett ActiveX-objekt.

Syntax

CreateObject ( klass [, servernamn] )

CreateObject-funktionens syntax har följande argument:

Argument

Beskrivning

klass

Obligatoriskt. Variant (sträng). Programmets namn och klass för objektet som ska skapas.

servernamn

Valfritt. Variant (sträng). Namnet på servern där objektet ska skapas. Om servernamn är en tom sträng ("") används den lokala datorn.

Klass argument använder syntax appnamn.objekttyp och har följande delar:

Del

Beskrivning

appname

Obligatoriskt. Variant (sträng). Namnet på programmet som tillhandahåller objektet.

objecttype

Obligatoriskt. Variant (sträng). Typ eller klass av objekt du vill skapa.

Anmärkningar

Alla program som stöder automation innehåller minst en objekttyp. I ett ordbehandlingsprogram kan det till exempel finnas ett Programobjekt, ett Dokumentobjekt och ett Verktygsfältobjekt.

Om du vill skapa ett ActiveX-objekt tilldelar du objektet som returneras av CreateObject till en objektvariabel:

Obs!: I exemplen nedan visar vi hur du använder den här funktionen i en Visual Basic for Applications-modul (VBA). Om du vill läsa mer om hur man använder VBA, kan du välja Info för utvecklare i listrutan bredvid Sök och sedan skriva en eller flera söktermer i sökrutan.

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

I det här exemplet automatiserar vi ett Excel-kalkylbladsobjekt inifrån en Access-databas. Med den här koden börjar programmet att skapa objektet, i det här fallet ett Microsoft Excel-kalkylblad. När ett objekt har skapats kan du referera till det i koden genom att använda objektvariabeln som du har definierat. I följande exempel kommer du åt egenskaper och metoder för det nya objektet med hjälp av objektvariabeln ExcelSheet, och andra Excel-objekt, inklusive Application-objektet och 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

Om du deklarerar en objektvariabel med As Object -satsen skapas en variabel som kan innehålla en referens till alla typer av objekt. Åtkomsten till objektet genom variabeln är dock sen bunden. bindningen sker alltså när programmet körs. Om du vill skapa en objektvariabel som resulterar i tidig bindning, d.v.s. bindning när programmet kompileras, deklarerar du objektvariabeln med ett specifikt klass-ID. Du kan till exempel deklarera och skapa följande Excel-referenser:

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)

Referensen till en variabel med tidig bindning kan ge bättre prestanda, men kan endast innehålla en referens till den klass som anges i deklaration.

Du kan skicka ett objekt som returneras av CreateObject-funktionen till en funktion som tar ett objekt som ett argument. Följande kod skapar och skickar en referens till ett Excel.Application-objekt:

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

Du kan skapa ett objekt på en dator ansluten till ett fjärrnätverk genom att ange namnet på datorn till argumentet servernamn för CreateObject. Namnet är detsamma som datornamnet i ett resursnamn: för en resurs med namnet "\\MyServer\Public" är servernamn "MyServer."

Obs!:  Mer information om hur du gör ett program synligt på en fjärransluten dator finns i COM-dokumentationen (se Microsoft Developer Network). Du kan behöva lägga till en registernyckel för programmet.

Följande kod returnerar versionsnumret för en instans av Excel som körs på en fjärrdator med namnet MyServer:

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

Ett fel uppstår om fjärrservern inte finns eller inte är tillgänglig.

Obs!:  Använd CreateObject när objektet inte har några aktuella instanser. Om en instans av objektet körs startar en ny instans och ett objekt av angiven typ skapas. Om du vill använda den aktuella instansen eller starta programmet och läsa in en fil kan du använda GetObject-funktionen.

Om ett objekt har registrerat sig själv som ett objekt med en enstaka instans skapas bara en förekomst av objektet oavsett hur många gånger CreateObject körs.

Exempel

I det här exemplet används CreateObject-funktionen för att ange en referens (

xlApp

) till Excel. Referensen används för åtkomst till egenskapen Synlig i Excel och använder Excel sedan metoden Avsluta för att stänga den. Slutligen släpps själva referensen.

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.

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.