源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

VBS教程:函数-GetObject 函数

  • 时间:2021-03-28 19:59 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:VBS教程:函数-GetObject 函数

GetObject 函数

返回对文件中 Automation 对象的引用。 [code][b]GetObject([/b][[i]pathname[/i]] [,[i] class[/i]][b])[/b][/code] [h3]参数[/h3] Pathname 可选项。字符串,包含待检索对象的文件的完整路径和名称。如果省略 [b]pathname[/b] 则必须有 [b]class[/b]。 Class 可选项。字符串,对象的类。 [b]class[/b] 参数的语法格式为 [b]appname.objectype[/b],其中包括以下部分: [h3]参数[/h3] appname 必选项。字符串,提供对象的应用程序名称。 objectype 必选项。字符串,要创建的对象的类型或类。 [h3]说明[/h3] 使用 [b]GetObject[/b] 函数可以访问文件中的 Automation 对象,而且可以将该对象赋值给对象变量。使用 [b]Set[/b] 语句将 [b]GetObject[/b] 返回的对象赋值给对象变量。例如:
[code]Dim CADObject
Set CADObject = [b]GetObject([/b]"C:\CAD\SCHEMA.CAD"[b])[/b][/code]
在执行上述代码时,就会启动与指定路径名相关联的应用程序,同时激活指定文件中的对象。如果 [b]pathname[/b] 是零长度字符串 (""),[b]GetObject[/b] 返回指定类型的新对象实例。如果省略 [b]pathname[/b] 参数,[b]GetObject[/b] 将返回指定类型的当前活动对象。如果没有指定类型的对象,就会出现错误。 某些应用程序允许只激活文件的一部分,方法是在文件名后加上一个惊叹号 (!) 以及用于标识要激活的文件部分的字符串。有关创建这种字符串的详细信息,请参阅创建对象的应用程序的有关文档。 例如,在绘图应用程序中,一个存放在文件中的图可能有多层。可以使用下述代码来激活图 SCHEMA.CAD 中的某一层:
[code]Set LayerObject = [b]GetObject([/b]"C:\CAD\SCHEMA[b].[/b]CAD!Layer3"[b])[/b][/code]
如果没有指定对象的类,则 Automation 会根据所提供的文件名,确定要启动的应用程序以及要激活的对象。但是,有些文件可能支持多个对象类。例如,图可能支持三种不同类型的对象:Application 对象、Drawing 对象和 Toolbar 对象,所有这些都是同一个文件中的一部分。使用可选项的 [b]class[/b] 参数可以指定文件中要激活的对象。例如:
[code]Dim MyObject
Set MyObject = [b]GetObject([/b]"C:\DRAWINGS\SAMPLE.DRW", "FIGMENT.DRAWING"[b])[/b] [/code]
在上述样例中,FIGMENT 是绘图应用程序的名称,而 DRAWING 则是它支持的一种对象类型。对象被激活之后,就可以在代码中使用所定义的对象变量来引用它。在前面的例子中,可以使用对象变量 MyObject 访问新对象的属性和方法。例如:
[code]MyObject.Line 9, 90
MyObject.InsertText 9, 100, "[/code]嗨,你好![code]"[/code]
[code]MyObject.SaveAs "C:\DRAWINGS\SAMPLE.DRW"[/code]
[b]注意[/b] 在对象的当前实例存在,或者要用已加载的文件创建对象时,请使用 [b]GetObject[/b] 函数。如果没有当前实例,并且不准备使用已加载的文件启动对象,请使用 [b]CreateObject[/b] 函数。 如果对象已注册为单个实例的对象,则无论执行多少次 [b]CreateObject[/b],都只能创建该对象的一个实例。若使用单个实例对象,当使用零长度字符串 ("") 语法调用时,[b]GetObject[/b] 总是返回同一个实例,而如果省略 [b]pathname[/b] 参数,则会出现错误。
[url=http://www.1sucai.cn/shouce/vbs/115.htm]http://www.1sucai.cn/shouce/vbs/115.htm[/url]
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部