spacer


Webref WebRef   Sitemap · Experts · Tools · Services · Newsletters · About i.com


home / experts / javascript / column55


OLE Automation in JavaScript

Developer News
Mandrake Linux Founder Back, Virtually
Amazon: We're a Technology Company
Sun Expands MySQL With Closed Source

The ActiveXObject() Function

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);


The preceding code segment references the Word.Application object, and its methods are used later. Notice the hierarchical structure, where one method or property is actually an object that has its own methods and properties.


Like Visual Basic 6, JScript takes the ActiveXObject() function one step further by adding a new parameter, servername. You can now specify the name of the server on which the ActiveX object is registered. Creating an object on a remote server can only be accomplished when Internet security is turned off. You can create an object on a remote networked computer by passing the name of the computer to the servername argument of the ActiveXObject() constructor. For example, if a network share is named "\\MYSERVER\D\Program Files," the value of servername should be "MYSERVER." In addition, you can specify the location using DNS format or an IP address. The following function returns the version number of an instance of Word running on a remote network computer named "MYSERVER":


function getVersion() {
  var wdApp = new ActiveXObject("Word.Application", "MYSERVER");
  return wdApp.Version;
}


An error occurs if the specified remote server does not exist or cannot be found. When testing this function, we discovered that JScript actually ignores the servername parameter. So we put together the following function in VBScript, and realized that it doesn't work either:


Function GetVersion
  Dim wdApp
  Set wdApp = CreateObject("Word.Application", "MYSERVER")
  GetVersion = wdApp.Version
End Function


 




http://www.internet.com


Produced by Yehuda Shiran and Tomer Shiran

internet.comearthweb.comDevx.commediabistro.comGraphics.com

Search:

Jupitermedia Corporation has two divisions: Jupiterimages and JupiterOnlineMedia

Jupitermedia Corporate Info

Legal Notices, Licensing, Reprints, Permissions, Privacy Policy.
Advertise | Newsletters | Tech Jobs | Shopping | E-mail Offers

Whitepapers and eBooks

Intel Whitepaper: Comparing Two- and Four-Socket Platforms for Server Virtualization
IBM Solutions Brief: Go Green With IBM System xTM And Intel
HP eBook: Simplifying SQL Server Management
IBM Contest: Are You the Next Superstar? Join the "Search for the XML Superstar" Contest to Find Out
Microsoft PDF: Top 10 Reasons to Move to Server Virtualization with Hyper-V
Microsoft PDF: Six Reasons Why Microsoft's Hyper-V Will Overtake Vmware
Microsoft Step-by-Step Guide: Hyper-V and Failover Clustering
Intel PDF: Quad-Core Impacts More Than the Data Center
Intel PDF: Virtualization Delivers Data Center Efficiency
Go Parallel Article: PDC 2008 in Review
Microsoft PDF: Top 11 Reasons to Upgrade to Windows Server 2008
Avaya Article: Communication-Enabled Mashups: Empowering Both Business Owners and IT
Intel Whitepaper: Building a Real-World Model to Assess Virtualization Platforms
  PDF: Intel Centrino Duo Processor Technology with Intel Core2 Duo Processor
Microsoft Article: Build and Run Virtual Machines with Hyper-V Server 2008
Go Parallel Article: Q&A with a TBB Junkie
IBM Whitepaper: Innovative Collaboration to Advance Your Business
Internet.com eBook: Real Life Rails
IBM eBook: The Pros and Cons of Outsourcing
Internet.com eBook: Best Practices for Developing a Web Site
IBM CXO Whitepaper: The 2008 Global CEO Study "The Enterprise of the Future"
Avaya Article: Call Control XML in Action - A CCXML Auto Attendant
IBM CXO Whitepaper: Unlocking the DNA of the Adaptable Workforce--The Global Human Capital Study 2008
Adobe Acrobat Connect Pro: Web Conferencing and eLearning Whitepapers
HP eBook: Guide to Storage Networking
MORE WHITEPAPERS, EBOOKS, AND ARTICLES
webref The latest from WebReference.com Browse >
Popular JavaScript Framework Libraries: An Overview - Part 3 · Accessing Your MySQL Database from the Web with PHP · Working with the DOM Stylesheets Collection
Sitemap · Experts · Tools · Services · Email a Colleague · Contact FREE Newsletters 
 The latest from internet.com
Crucial Triples Up With New Three-Channel DDR3 Kits · Meet the Finalists: Excellence in Technology Awards · Tealeaf Offers Insight to Mobile Customer Behavior


Created: January 10, 2000
Revised: January 10, 2000

URL: http://www.webreference.com/js/column55/activex.html