当前位置: 首页 > 图文教程 > 网络编程 > Javascript > Javascript实例教程(21) OLE Automation(3)

Javascript
动态生成select选项全接触
不刷新页面动态更新select选项,实现两个select相互操作
网页输入框日期型有效性判定一网打尽
实用Javascript函数之一(自动将输入文本框中的内容转换成大写字符)
实用Javascript函数之二(自动将输入文本框中的内容转换成小写字符)
实用Javascript函数之三(限制文本输入框中只能输入数字\"0\"到\"9\")
实用Javascript函数之四(用于对sString字符串进行前空格截除)
实用Javascript函数之五(用于对sString字符串进行后空格截除)
实用Javascript函数之六(截除字符串前后空格)
如何使用交替的滚动标题
采用DOM模型时创建一个Select节点后,要删除option项的解决方法
javascript函数速查
利用JavaScript和正则表达式进行丰富的日期判断(给其它项目组的代码,有比较好的编程风格和注释)
关于字符串的几个有用函数
FileSystemObject 的例子(处理驱动器、文件夹、文件)
用JScript实现VB.Net,C#的[委托Delegate]:
得到固定字符位置的函数
IE NC通用的藏鼠标右键一法
Menu
foolpot2001菜单

Javascript实例教程(21) OLE Automation(3)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 199 ::
收藏到网摘: n/a

使用JavaScript中的OLE Automation

3. 怎样创建Automation对象的新实例

Jscript(微软版本的JavaScript)是一个宽松类型的语言。换句话说,变量不是明显定义为指定的数据类型。你不能声明一个变量为指定的对象类型,所以早绑定不可能在JScript中。Jscript的ActiveXObject()构造函数通常用于为对象创建一个迟绑定界面:

var wdApp; // 一个普通变量

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

Jscript不需要明显的变量声明,所以我们可以使用以下的代码:

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

ActiveXObject()函数的一般的语法如下:

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

objVar指定为一个持有实例化对象引用的变量。class使用library.object语法,它是指应用程序的名字(比如Word或者Excel等等)或者包含对象的库,并且对象是要创建的对象类的类型。servername(这是一个可选的参数)指定了包含对象的服务器的名字。

这个ActiveXObject()构造函数创建了一个OLE Automation(ActiveX)对象的实例。一旦对象被创建了,你可以使用定义的对象变量来引用它。如果ActiveX对象的实例已经运行,ActiveXObject()在它创建了必需的类型的对象的时候可能开始一个新的实例。下面的代码段可以让用户直接打开一个Word文档:

var pause = 0;

var wdDialogFileOpen = 80;

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

var dialog = wdApp.Dialogs(wdDialogFileOpen);

var button = dialog.Show(pause);



使用JavaScript中的OLE Automation

3. 怎样创建Automation对象的新实例

前面的代码段引用了Word.Application对象,它的方法在后面的教程要介绍。这里要注意等级结构,即一个方法或者属性是一个对象,它们又又自己的方法和属性。

象Visual Basic 6,Jscript可以通过增加一个新的参数(servername)来一步增加ActiveXObject函数。你可以在注册的ActinveX对象上指定服务器的名字。在远程服务器创建一个对象可以在Internet安全检查程序关闭的时候完成。你可以通过传递计算机的名字给ActiveXObject()构造函数的servername参数来在远程网络计算机上创建一个对象。比如,如果一个网络共享命名为"\\MYSERVER\D\Program Files",那那么servername的数值就为’MYSERVER”。另外,你可以使用DNS格式或者一个IP地址来指定位置。下面的函数返回运行在远程网络计算机(名为"MYSERVER")Word的实例的版本号:

function getVersion() {

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

return wdApp.Version;

}

如果指定的远程服务器不存在或者没有找到就会产生一个错误。当我们测试这个函数的时候,我们可以发现Jscript忽视了servername参数。所以我们在VBScript将这些函数放在一起,可以发现它并不工作:

Function GetVersion

Dim wdApp

Set wdApp = CreateObject("Word.Application", "MYSERVER")

GetVersion = wdApp.Version

End Function