|
附件内容DOC,和这个一样
事实上是写给脚本学习的朋友(WSH,VBS,JS)参考的,不过VBA也一样
1 自动化对象是什么?
这里的自动化指Microsoft的一个术语AUTOMATION,它是在COM对象基础上发展出来的,一堆鸟语,如果听不懂没关系,先理解成是方便使用的对象,一如结构化的程序,为了方便使用,提供标准函数,进化成API/DLL,后来就提供WINAPI,不过这是对象。
支持自动化的程序,包括VB、VBA、VBS、JS、VC以及其它大部分WINDOWS编程序语言,不过,在脚本系语言(JSCRIPT/VBSCRIPT)和VBA里是常见的,因为这两者往往强调借用其它对象达到编程的目的。
为了实现非本身设计的功能,VBA可以直接调用WINAPI接口函数,但在脚本语言里,这个路径是难以实现的,于是要从WINDOWS系统里调用“已有的类”(不是已有的API函数)生成对象,在VBA/VBS/JS里往往看到这种调用生成一个对象:
VBA的调用法
首先在工程里引用一个外部的库,然后当成一般的对象变量
或者是VBA和VBS的通用做法
SET A=CREATEOBJECT(“某库.某类”) ASP常见的是SET A=SERVER. CREATEOBJECT(“某库.某类”)
JSCRIPT的做法
var 某对象=new ActiveXObject("某库.某类");
除了NEW和CREATEOBJECT,还有从现有对象引用的GETOBJECT,都差不多
为什么要了解自动化对象
学会编程,了解结构化编程的作用以后,开始大概就是“写一些通用的,反复可以被我、别人使用的程序模块”,乐于助人,或者在碰了很次壁以后,会乐于被人助,想要“找一些通用的,反复可以使用的好用的模块”,更清楚一点就会知道,要找一些标准的,所有人机上都装了的函数最好:没错,就是传说中的库函数,更高级的就是系统API。
自动化对象也是一样,下面是介绍标准化的,常用的、几乎大家机上都装有的自动化对象——不是介绍大家怎么去装,也不是自已创建一个自动化对象库,而是知道、掌握找到这些常见的对象。
2 常用WINDOWS自动化对象:
2.1 脚本库文件系统对象FileSystemObject(简称FSO)
注册名称:Scripting.FileSystemObject
FSO用于对文件系统的访问,可用于如下工作:检查驱动器、文件夹、判断文件/文件夹的存在、修改或删除文件属性,以及对文本文件的顺序访问。
FSO不提供对二进制文件的访问。
FSO是脚本运行时库(Scripting)的组件,在WIN98以后版本中默认安装。
在WSH的文档中可找到FSO对象模型参考,在MSDN98的VB中文版部分可找到FSO的参考。
在我看来,FSO的意义是给大家一个标准的文件编程代码。“正常情况”下脚本几乎只能用这个玩文件,而且也是FSO在网页早期成为病毒代码常使用工具之一。
VBA本身有文件系统代码,但如果不是二进制类,转用FSO也不错。
2.2 脚本库字典对象Dictionary
注册名称Scripting.Dictionary
字典类,根据关键词查找对应数据,是脚本运行时库(Scripting)的组件,在WIN98以后版本中默认安装。
在WSH的文档中可找到Dictionary对象模型参考。
2.3 脚本正式表达式对象 Regexp
注册名称Vbscript.Regexp
提供使用正则表达式的对象。
但它不是和SCRIPTING在一起*_*,没有具体考证为什么。
在WSH的文档中可找到REGEXP对象模型、使用参考。
正则表达式用于以语法、词法查询和分析一个字串。在以前的编程语法,VB、VBA甚至早期的C、C++都没有提供类似的标准库,我们解析一个字符串用的LEFT、RIGHT、MID之类在面对更复杂的搜索和解析要求时会变得困难,正则表达式就有用了。
2.4 MSXML库系列对象模型
注册名称MSXML.Document、MSXML2.Document、Mircosoft.XMLDOM、MSXML2.XMLHTTP等
以上都是XML文档对象,在WIN98以后版本中(实际是随IE5安装),可使用MSXML.Document;
在IE6以后版本中可使用MSXML2.Document。只要有MSXML.Document,也可以用Microsoft.XMLDOM这个名称。
XML文档对象提供文档模型对XML文件进行访问、修改。另外,也可以用XPath语法访问。
XMLHTTP也提供XML语法对网页的流解析。它的意义在于,和W3的DOCUMENT不同的是,如果客户端对DOCUMENT对象下载之后,进行解析,做了事件和动作(包括脚本程序行为),可能在时间、效率上不合算,直接解析网页的原始符号效率高一些。但它的缺点是不能在对象层上分析,如果分析目标做了脚本和对象级的ENCODE跳转,分析就变得复杂了。
下载微软的MSXML说明文档MSXMLSDK安装,其中有XML参考对象模型
2.5 OFFICE库WORD、EXCEL和ACCESS等对象
注册名称:Excel.Application、Word.Application、Access.Application等
OFFICE自动化对象按各自安装的应用程序以APPLICATION为根,随OFFICE安装后才能使用,在一般办公性的处理程序中很有用。
安装OFFICE时选中VBA帮助(默认不安装,可用安装盘添加组件),其中有OFFICE对象模型和使用方法。
虽然不是WINDOWS自带,不过几乎是大部分系统有的对象,特别是EXCEL和WORD。它们也是VBA得以推广的基础。
事实上,EXCEL似乎被用得最多,相对来说,WORD虽然在办公领域常用,但数据处理的应用当然是电子表格更多 罢。
2.6 Adodb库数据连接对象
注册名称:ADODB.Connect、ADODB.Record等
访问ODBC数据库接口的重要对象,几乎是M$的数据编程标准,差不多凡是能在WINDOWS上运行的商业化数据库都提供ADO接口,所以在很多VB或VFP、网站ASP编程中都会用到。它可用于访问各种数据库,但因为不同的数据库有不同的ADO参数,编程人员应对特定数据库连接方式有所了解。
MSDN98中有ADO相关参考,但是没有新版本新增对象参考(如ADO2.5的stream),尚不清楚ADO2.5以后的完整参考文档取得方法,可能是随ADO2.X对象下载安装单独提供文档。
2.7 IE文档模型对象
注册名称:InternetExplorer.Application
代表网页浏览器IE的对象,在程序可用它实现访问网页的功能。
注意一下这个对象,首先,IE APPLICATION包含了 WEB DOCUMENT在内,这是W3的一个DOCUMENT子集(有兼容性部分的文档会有说明),另外,网页从DOCUMENT对象开始的编程是大部分网页标准兼容的。
注意在MS的WEB 控件里也有类似的对象结构,因为它们从DOCUMENT对象以下都是相似的,但WEB 控件本身不是AUTOMANTION对象,这意味着你不能用CREATEOBJECT直接向系统请求创建一个实例,特别是在脚本里这么做。
安装了IE5及以后的版本都会有这个对象,也就是WIN98第2版以后都有,熟悉这个对象结构对网页和其它脚本编程很有用。
在OFFICE2000可找到HTMLREF文档有关于IE对象的参考
2.8 WINDOWS系统桌面对象Shell.Application
桌面对象,可能代表EXPLORER.exe,但是它在WIN98以后才出现,也可能是结合IE的一个对象,MSDN98中以索引关键字”SHELL OBJECT”可以找到SHELL的对象模型(SHELLCC.CHM)。可以用来操纵文件夹对象,做COPY、MOVE之类的工作(FSO对象也有这些功能),也可以做一些桌面操作,如SHUTDOWNWINDOWS(关机)、BrowseForFolder(打开文件夹)
在MSDN98和MSDN NET都有它的模型说明,不同版本的WINDOWS系统EXPLORER模型不同。
2.9 WSH脚本宿主对象
WScript.Shell,WScript.Network
可用于运行应用程序、网络维护和注册表。
但应注意的是,和WSH本身不同,直接运行WSH可以调用一些WSH内部的对象,在上述两个对象不能直接用。
下载WSH随说明文档可找到对象模型参考。另外MSDN98用WSCRIPT索引也可找到早期WSCRIPT对象参考的英文版本。 |
评分
-
3
查看全部评分
-
|