当前位置:网站首页>VBS函数应用–getobject的使用获得Automation对象
VBS函数应用–getobject的使用获得Automation对象
2022-08-04 13:09:00 【全栈程序员站长】
大家好,又见面了,我是你们的朋友全栈君。
返回对文件中 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.ip138.com/ip2city.asp”)’就是取得这个对象 Do Until oDOM.readyState=”complete” ‘一直循环等待200ms,直到页面加载完成 WScript.sleep 200’就是等待200ms Loop WScript.echo oDOM.documentElement.outerText’取得某个文本,并弹出对话框以显示此消息 Set oDOM=nothing’断开与对象的连接以释放内存。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/107091.html原文链接:https://javaforall.cn
边栏推荐
猜你喜欢
5 cloud security management strategies enterprises should implement
ReentrantLock 原理
双目立体视觉笔记(二)
Valentine's Day Romantic 3D Photo Wall [with source code]
Is the code more messy?That's because you don't use Chain of Responsibility!
03 多线程与高并发 - ReentrantLock 源码解析
CLS-PEG-DBCO,胆固醇-聚乙二醇-二苯基环辛炔,可用于改善循环时间
“蔚来杯“2022牛客暑期多校训练营4 N
烂大街的缓存穿透、缓存击穿和缓存雪崩,你真的懂了?
做项目管理有且有必要了解并学习的重要知识--PMP项目管理
随机推荐
Unity 3D模型展示框架篇之资源打包、加载、热更(Addressable Asset System | 简称AA)
A discussion of integrated circuits
du命令_set命令选项
Valentine's Day Romantic 3D Photo Wall [with source code]
【解决方案 三十一】Navicat数据库结构同步
双目立体视觉笔记(三)三角测量、极线校正
nVisual二次开发——第二章 nVisual API操作指南Swagger使用
d不要直接用转串
绩效考核带给员工的不能只是压力
SCA兼容性分析工具(ORACLE/MySQL/DB2--->MogDB/openGauss/PostgreSQL)
JSX use
《会面》-凯瑟琳曼斯菲尔德(徐志摩译)
搭建ros交叉编译环境(从x86到nvidia arm)
密码设置有关方法:不能相同字母,不能为连续字符
双目立体视觉学习笔记(一)
MySQL性能指标TPS\QPS\IOPS如何压测?
【PHP实现微信公众平台开发—基础篇】第2章 微信公众账号及申请流程详解
21天学习挑战赛--第二天打卡(setSystemUiVisibility、导航栏、状态栏)
跨链桥已成行业最大安全隐患 为什么和怎么办
漏洞复现 - - - Alibaba Nacos权限认证绕过