使用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
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
闽公网安备 35060202000074号