OLE Automation in JavaScript: The GetObject() Function
OLE Automation in JavaScript
The GetObject() Function
The GetObject()
function in Visual Basic is also supported by JScript. Its general syntax is as follows:
var objVar = GetObject([pathname][, class]);
objVar
specifies a variable to hold the reference to the instantiated object. pathname
is the full path and name of the file containing the ActiveX object. class
specifies the class of the object in the form of a string. The class
argument uses the syntax library.object
, and is identical to the first argument of the ActiveXObject()
function.
Generally speaking, the GetObject()
function accesses an ActiveX server held within a specified file. Although both parameters are optional, at least one of them must be supplied. The GetObject()
function is used when there is a current instance of the ActiveX object. It doesn't create a new instance like the ActiveXObject()
function.
If you assign pathname
an empty string (""
), GetObject()
returns a new instance of the object, unless the object is registered as single instance, in which case the current instance is returned. However, if pathname
isn't specified at all, the current instance of the object is returned. An error is generated if pathname
isn't specified, and no current instance of the object can be found. Note that the GetObject()
function cannot be used to obtain a reference to a class created with Visual Basic.
Some applications allow you to access a particular section of the object library. Use an exclamation mark (!) after the filename, followed by a string that identifies the part of the library you want to activate. For information on how to create this string, see the documentation for the Automation server. For example, a file in a drawing application might feature several layers. You could use the following code to activate a layer within a drawing called SCHEMA.CAD:
var objVar = GetObject("C:\\CAD\\SCHEMA.CAD!Layer2");
Some files (object libraries) may support more than one class. For example, a single drawing file might support three different classes: an Application
object, a Drawing
object, and a Toolbar
object. Since you can only reference a single object, you must specify the desired class:
var objVar = GetObject("C:\\DRAWINGS\\SAMPLE.DRW", "Figment.Drawing");
In the preceding example, Figment is the name of a drawing application and Drawing
is one of the object types it supports. In the next part of the column we'll take a deeper look at the GetObject()
function, and how it differs from ActiveXObject()
.
Produced by Yehuda Shiran and Tomer Shiran
Created: January 10, 2000
Revised: January 10, 2000
URL: https://www.webreference.com/js/column55/getobject.html