February 3, 2000 - ActiveX Objects | WebReference

February 3, 2000 - ActiveX Objects

Yehuda Shiran February 3, 2000
ActiveX Objects
Tips: February 2000

Yehuda Shiran, Ph.D.
Doc JavaScript

JScript (Microsoft's version of JavaScript) is a loosely-typed language. In other words, variables aren't explicitly declared as specific data types. You cannot declare a variable as a specific type of object, so early binding is not possible in JScript. JScript's ActiveXObject() constructor function is used to create a late bound interface to an object:

var wdApp; // a general variable
wdApp = new ActiveXObject("Word.Application");

JScript doesn't require explicit variable declarations, so we'll use the following convention instead:

var wdApp = new ActiveXObject("Word.Application");

The general syntax of the ActiveXObject() function is as follows:

var objVar = new ActiveXObject(class[, servername]);

objVar specifies a variable to hold the reference to the instantiated object. class uses the syntax library.object where library is the name of the application (e.g., Word, Excel) or library containing the object, and object is the type or class of the object to create. servername (an optional argument) specifies the name of the server on which the object resides.

The ActiveXObject() constructor function creates an instance of an OLE Automation (ActiveX) object. Once an object is created, you refer to it in code using the object variable you defined. If an instance of the ActiveX object is already running, ActiveXObject() may start a new instance when it creates an object of the required type. The following code segment lets the user open a Word document directly:

var pause = 0;
var wdDialogFileOpen = 80;
var wdApp = new ActiveXObject("Word.Application");
var dialog = wdApp.Dialogs(wdDialogFileOpen);
var button = dialog.Show(pause);

Learn more about ActiveX objects in our Column 55, OLE Automation in JavaScript.