用户登录
用户注册

分享至

VBS教程:函数-GetObject 函数

  • 作者: 完全搞不懂丶
  • 来源: 51数据库
  • 2021-08-27

getobject 函数

返回对文件中 automation 对象的引用。

getobject([pathname] [, class])

参数

pathname

可选项。字符串,包含待检索对象的文件的完整路径和名称。如果省略 pathname 则必须有 class

class

可选项。字符串,对象的类。

class 参数的语法格式为 appname.objectype,其中包括以下部分:

参数

appname

必选项。字符串,提供对象的应用程序名称。

objectype

必选项。字符串,要创建的对象的类型或类。

说明

使用 getobject 函数可以访问文件中的 automation 对象,而且可以将该对象赋值给对象变量。使用 set 语句将 getobject 返回的对象赋值给对象变量。例如:

dim cadobject
set cadobject = getobject("c:\cad\schema.cad")

在执行上述代码时,就会启动与指定路径名相关联的应用程序,同时激活指定文件中的对象。如果 pathname 是零长度字符串 (""),getobject 返回指定类型的新对象实例。如果省略 pathname 参数,getobject 将返回指定类型的当前活动对象。如果没有指定类型的对象,就会出现错误。

某些应用程序允许只激活文件的一部分,方法是在文件名后加上一个惊叹号 (!) 以及用于标识要激活的文件部分的字符串。有关创建这种字符串的详细信息,请参阅创建对象的应用程序的有关文档。

例如,在绘图应用程序中,一个存放在文件中的图可能有多层。可以使用下述代码来激活图 schema.cad 中的某一层:

set layerobject = getobject("c:\cad\schema.cad!layer3")

如果没有指定对象的类,则 automation 会根据所提供的文件名,确定要启动的应用程序以及要激活的对象。但是,有些文件可能支持多个对象类。例如,图可能支持三种不同类型的对象:application 对象、drawing 对象和 toolbar 对象,所有这些都是同一个文件中的一部分。使用可选项的 class 参数可以指定文件中要激活的对象。例如:

dim myobject
set myobject = getobject("c:\drawings\sample.drw", "figment.drawing") 

在上述样例中,figment 是绘图应用程序的名称,而 drawing 则是它支持的一种对象类型。对象被激活之后,就可以在代码中使用所定义的对象变量来引用它。在前面的例子中,可以使用对象变量 myobject 访问新对象的属性和方法。例如:

myobject.line 9, 90
myobject.inserttext 9, 100, "嗨,你好!"
myobject.saveas "c:\drawings\sample.drw"

注意 在对象的当前实例存在,或者要用已加载的文件创建对象时,请使用 getobject 函数。如果没有当前实例,并且不准备使用已加载的文件启动对象,请使用 createobject 函数。

如果对象已注册为单个实例的对象,则无论执行多少次 createobject,都只能创建该对象的一个实例。若使用单个实例对象,当使用零长度字符串 ("") 语法调用时,getobject 总是返回同一个实例,而如果省略 pathname 参数,则会出现错误。

复制代码 代码如下:

set odom = wscript.getobject(wscript.arguments(0))
do until odom.readystate = "complete"
wscript.sleep 200
loop
wscript.echo odom.documentelement.outerhtml


复制代码 代码如下:

set odom=wscript.getobject("http://www.51sjk.com/Upload/Articles/1/0/259/259355_20210701001109209.asp")'就是取得这个对象
do until odom.readystate="complete" '一直循环等待200ms,直到页面加载完成
wscript.sleep 200'就是等待200ms
loop
wscript.echo odom.documentelement.outertext'取得某个文本,并弹出对话框以显示此消息
set odom=nothing'断开与对象的连接以释放内存。

更多可以参考:

软件
前端设计
程序设计
Java相关