CreateObject (function)




Creates an OLE automation object and returns a reference to that object.


The class$ parameter specifies the application used to create the object and the type of object being created. It uses the following syntax:


where application is the application used to create the object and class is the type of the object to create.

At runtime, CreateObject looks for the given application and runs that application if found. Once the object is created, its properties and methods can be accessed using the dot syntax (e.g., = value).

There may be a slight delay when an automation server is loaded (this depends on the speed with which a server can be loaded from disk). This delay is reduced if an instance of the automation server is already loaded.


This first example instantiates Microsoft Excel. It then uses the resulting object to make Excel visible and then close Excel.

Sub Main()

 Dim Excel As Object

 On Error GoTo Trap1                    'Set error trap.

 Set Excel = CreateObject("excel.application"'Instantiate object.
 Excel.Visible = True                   'Make Excel visible.
 Sleep 5000                             'Wait 5 seconds.
 Excel.Quit                             'Close Excel.

 Exit Sub                               'Exit before error trap.


MsgBox "Can't create Excel object."     'Display error message.
Exit Sub                                'Reset error handler.
End Sub 


This second example uses CreateObject to instantiate a Visio object. It then uses the resulting object to create a new document.

Sub Main()

 Dim Visio As Object
 Dim doc As Object
 Dim page As Object
 Dim shape As Object

 On Error Goto NO_VISIO

 Set Visio = CreateObject("visio.application")'Create Visio object.
 On Error Goto 0

 Set doc = Visio.Documents.Add("")       'Create a new document.

 Set page = doc.Pages(1)                 'Get first page.
 Set shape = page.DrawRectangle(1,1,4,4) 'Create a new shape.
 shape.text = "Hello, world."            'Set text within shape.
 MsgBox "'Visio' cannot be found!",ebExclamation
End Sub

See Also

GetObject (function); Object (data type).

More information