CreateObject, functie

       

Maakt en geeft als resultaat een verwijzing naar een ActiveX-object.

Syntaxis

CreateObject(klasse,[servernaam])

De functie CreateObject heeft de volgende argumenten:

Onderdeel Beschrijving
klasse Vereist; Variant (String). De toepassingsnaam en de klasse van het object dat u wilt maken.
servernaam Optioneel; Variant (String). De naam van de netwerkserver waar het object wordt gemaakt. Als servernaam een lege reeks is (""), wordt het lokale systeem gebruikt.

Het argument klasse gebruikt de syntaxis toepnaam.objecttype en bevat de volgende onderdelen:

Onderdeel Beschrijving
toepnaam Vereist; Variant (String). De naam van de toepassing die het object beschikbaar stelt.
objecttype Vereist; Variant (String). Het type of de klasse van het object dat u wilt maken.

Notities

Elke toepassing die automatisering ondersteunt, levert ten minste ΘΘn type object. Een tekstverwerkingsprogramma kan bijvoorbeeld een object Application, een object Document en een object Toolbar leveren.

Als u een ActiveX-object wilt maken, wijst u het object dat als resultaat voor CreateObject wordt gegeven, toe aan een objectvariabele:

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

Met deze programmacode wordt de toepassing gestart die het object maakt, in dit geval een Microsoft Excel-werkblad. Zodra een object is gemaakt, geeft u het een verwijzing in de programmacode met de objectvariabele die u hebt opgegeven. In het volgende voorbeeld verschaft u zich toegang tot de eigenschappen en methoden van het nieuwe object met behulp van de objectvariabele ExcelSheet en overige Microsoft Excel-objecten, inclusief het object Application en de collectie 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 = "Dit is kolom A, rij 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

Als u een objectvariabele declareert met de component As Object, maakt u een variabele die een verwijzing naar een willekeurig type object kan bevatten. Toegang tot het object via de variabele is echter met behulp van een late koppeling; dat wil zeggen dat de koppeling optreedt als uw programma wordt uitgevoerd. Als u een objectvariabele wilt maken die resulteert in een vroege koppeling, dat wil zeggen een koppeling die optreedt als het programma wordt gecompileerd, moet u de objectvariabele declareren met een bepaald klassen-id. U kunt bijvoorbeeld de volgende Microsoft Excel-verwijzingen declareren en maken:

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)

Verwijzen via een variabele met een vroege koppeling geeft betere prestaties, maar kan alleen een verwijzing bevatten naar de klasse die is opgegeven in de declaratie.

U kunt een object dat als resultaat is gegeven door de functie CreateObject, ook doorgeven aan een functie die een object als argument verwacht. De volgende programmacode maakt bijvoorbeeld een verwijzing naar een object Excel.Application en geeft deze door:

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

U kunt een object op een computer in een extern netwerk maken door de naam van de computer door te geven aan het argument servernaam van CreateObject. Die naam is hetzelfde als het gedeelte Machine Name van een sharenaam: voor een share met de naam "\\MijnServer\Openbaar," is servernaam "MijnServer."

Opmerking   Raadpleeg de COM-documentatie (zie Microsoft Developer Network) voor aanvullende informatie over het zichtbaar maken van een toepassing op een computer in een extern netwerk. Het is mogelijk dat u een Register-sleutel voor de toepassing moet toevoegen.

De volgende programmacode geeft als resultaat het versienummer van een exemplaar van Excel dat op een externe computer met de naam MijnServer wordt uitgevoerd:

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

Als de externe server niet bestaat of niet beschikbaar is, treedt er een runtimefout op.

Opmerking   Gebruik CreateObject als het object niet voorkomt. Als er reeds een object wordt uitgevoerd, wordt een nieuw object gestart en een object van het opgegeven type gemaakt. Gebruik de functie GetObject om de toepassing te starten en het bestand met het object te laden als u het huidige object wilt gebruiken.

Als een object is geregistreerd als een eenmalig object, kan het object slecht ΘΘn keer voorkomen, ongeacht hoe vaak CreateObject wordt uitgevoerd.