Javascript实例教程(20) OLE Automation(1)

javascript|教程

使用JavaScript中的OLE Automation

  在前面的教程中我们已经有提到JavaScript中的OLE Automation。在本节的教程中,我们将一起来讨论一下JavaScript是怎样利用Automation的强大功能来扩展服务端脚本的能力的。

实际上Automation并不是新的事物。它已经在好几年前就流行了,但是被ActiveX脚本语言的支持是一个新的应用。如果你已经有了Visual Basic 或者Visual C++的编程背景,本节教程将介绍怎样利用你的经验来创建有用的脚本以控制外部的应用程序。

在你的脚本中控制外部的应用是非常强大的,比如从你的脚本中打开一个Word文档或者一个Excel电子表格。HTML编辑器,比如HomeSite 4.0和HotMetal Pro 6为你提供了丰富的工具使得你可以利用它们到你的主页中去。它们都是封装到ActiveX控件中的。本教程的内容主要有:

什么是Automation

什么是绑定

怎样创建Automation对象的新实例

怎样检索一个Automation对象存在的实例

怎样处理应用程序的实例

怎样提高脚本程序的性能

怎样处理集对象

从下一篇开始,我们对以上的内容逐个介绍。

使用JavaScript中的OLE Automation

什么是Automation

OLE(对象连接和嵌入)Automation允许应用程序完成通讯、交换数据以及控制其它应用程序等等。它还允许一个客户应用程序通过使用暴露对象的界面来创建和控制一个对象。一个Automation对象是可以通过Automation界面暴露给其它应用程序或者编程工具的一个对象。

Automation提供了一个文档案的、标准的方法来创建和访问应用程序。通常,Automation跟Visual Basic是紧密联系的。它有为C/C++开发人员提供了创建可编程的应用程序的强大工具,并且让Visual Basic设计人员访问和操作这些应用程序。这些C/C++程序员提供专业化的用户界面的解决方案并且给Visual Basic程序员提供了从应用程序组件中汇集定制解决方案的一种可靠的方法。

不仅Visual Basic 可以利用Automation,实际上,可编程的对象也可以任何的宏语言或者执行Automation的编程工具来进行访问。用户可以根据当前的知识选择一个编程工具,而不是为每一个应用程序学习新的语言。即使脚本语言,比如VBScript和Jscript页支持Automation 。

控制一个Automation应用程序的关键在于对应用程序的对象模型要有一个较好的理解。每一个应用程序的对象模型是不同的。微软现在声称在Office 程序组中每一个应用程序的每一个函数都可以通过应用程序的对象模型被程序员访问。这个Office程序组通过它的对象模型暴露了成千上万的对象、方法以及属性给程序员。这个消息对程序设计人员来说无疑是一个好消息。

但是,学习特殊应用程序的对象模型通常是很困难的,因为缺少描述各种软件对象的相关资料文档。微软的Office应用程序,比如在网上为程序员提供了许多资料文档,但是还有许多其它的应用程序不提供必须的文档。

在Microsoft Visaul Basic中的对象浏览器将对象、方法、属性以及外部Automation对象的常量展现在对话框中。这个工具同样适用于脚本设计中,因为应用程序的全局常量在脚本环境中不是有效的。如果你利用Automation来编写脚本,你可以适用对象浏览器来取出必需的常量的值,这样你就可以在脚本中来显性指定它们了。

时间: 2024-12-22 02:51:50

Javascript实例教程(20) OLE Automation(1)的相关文章

Javascript实例教程(20) OLE Automation(6)

javascript|教程 使用JavaScript中的OLE Automation 6. 怎样提高脚本程序的性能 自从我们处理重的对象模型(比如Word.Application)和应用程序实例,注意系统的资源示相当重要的.一旦我们完成对应用程序实例的处理,我们必须去掉它,以从内存重清除对象的实例.在Jscript中有唯一的方法来实现,它就是应用程序对象的Quit()方法,以下是一个例子: var wdApp = new ActiveXObject("Word.Application"

Javascript实例教程(20) OLE Automation(5)

javascript|教程 使用JavaScript中的OLE Automation 5. 怎样处理应用程序的实例 文档模板是应用程序和它支持的文档之间的连接.文档模板有两种类型:单一文档,它只能一次打开一个类型的文档:多文档模板,它允许多个文档同时被打开.下面的表格列出了Windows应用程序的各种类型: 单文档界面(SDI)应用程序 单文档界面(MDI)应用程序 老类型的应用程序 新类型的应用程序 一个实例 多个实例 老类型的SDI应用程序只能一次管理一个文档,但它支持在不需要开始应用程序的

Javascript实例教程(20) OLE Automation(4)

javascript|教程 使用JavaScript中的OLE Automation 4.怎样检索一个Automation对象存在的实例 Jscript支持同样Visual Basic中的GetObject()函数.它的一般的语法如下: var objVar = GetObject([pathname][, class]); objVar指定了一个变量来保留实例化对象的引用.Pathname是完全的路径和包含ActiveX对象的文件名.Class指定在字符串的表单中对象的类.Class参数使用了

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

javascript|教程 使用JavaScript中的OLE Automation 3. 怎样创建Automation对象的新实例 Jscript(微软版本的JavaScript)是一个宽松类型的语言.换句话说,变量不是明显定义为指定的数据类型.你不能声明一个变量为指定的对象类型,所以早绑定不可能在JScript中.Jscript的ActiveXObject()构造函数通常用于为对象创建一个迟绑定界面: var wdApp; // 一个普通变量 wdApp = new ActiveXObjec

Javascript实例教程(20) OLE Automation(2)

javascript|教程 使用JavaScript中的OLE Automation 2. 什么是绑定 在你适用一个对象模型的属性.方法和事件之前,你必需首先创建一个计划性的引用给包含了你想适用的属性.方法或者事件的类.你可以通过声明一个局部对象变量以保留一个引用给这个对象来实现这个目的.然后,你要为局部变量指定一个对象的应用. VB和VBScript使用CreateObject()函数,来实现在Jscript使用这个ActiveXObject()构造函数的时候为一个Automation对象允许

Javascript实例教程(20) OLE Automation(7)

javascript|教程 使用JavaScript中的OLE Automation 7. 怎样处理集对象 Automation对象与其它的Jscript对象有些有相同的结构.它暴露了多种方法和属性,我们可以对它们进行处理.如果你从来没有接触Visual Basic,你可能就不熟悉集对象了.集就是相关项的组.集用在Visual Basic主要是为了保持跟踪许多事情,比如从你的程序(表单集)中装载表单,或者表单(控件集)中的所有控件. Visual Basci提供了集类,这样你就可以创建你自己的集

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

javascript|教程 使用javascript中的OLE Automation 6. 怎样提高脚本程序的性能 自从我们处理重的对象模型(比如Word.Application)和应用程序实例,注意系统的资源示相当重要的.一旦我们完成对应用程序实例的处理,我们必须去掉它,以从内存重清除对象的实例.在Jscript中有唯一的方法来实现,它就是应用程序对象的Quit()方法,以下是一个例子: var wdApp = new ActiveXObject("Word.Application"

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

javascript|教程 使用javascript中的OLE Automation 5. 怎样处理应用程序的实例 文档模板是应用程序和它支持的文档之间的连接.文档模板有两种类型:单一文档,它只能一次打开一个类型的文档:多文档模板,它允许多个文档同时被打开.下面的表格列出了Windows应用程序的各种类型: 单文档界面(SDI)应用程序 单文档界面(MDI)应用程序 老类型的应用程序 新类型的应用程序 一个实例 多个实例 老类型的SDI应用程序只能一次管理一个文档,但它支持在不需要开始应用程序的

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

javascript|教程 使用javascript中的OLE Automation 4.怎样检索一个Automation对象存在的实例 Jscript支持同样Visual Basic中的GetObject()函数.它的一般的语法如下: var objVar = GetObject([pathname][, class]); objVar指定了一个变量来保留实例化对象的引用.Pathname是完全的路径和包含ActiveX对象的文件名.Class指定在字符串的表单中对象的类.Class参数使用了