GetObject 函数app
从文件中返回对 Automation 对象 的一个引用。样式为:GetObject([pathname] [, class])函数
pathname可选项。 完整的文件路径和名称,文件中包含了要检索的对象。 若是忽略了 pathname ,那么须要 class 。工具
class可选项。 对象的类。对象
类参数采用的语法是 appname.objectype ,包括了如下部分:文档
appname必选项。 提供对象的应用程序名称。字符串
objectype必选项。 要建立的对象的类的类型。get
使用 GetObject 函数能够从文件中访问一个 Automation 对象。 能够将由 GetObject 返回的对象赋值给对象变量。 例如:io
var CADObject;class
CADObject = GetObject("C:\\CAD\\SCHEMA.CAD");变量
在执行这段代码时,将启动与指定的 pathname 相关的应用程序,所指定文件中的对象将被激活。 若是 pathname 是长度为零的字符串 ("") ,那么 GetObject 将返回指定类型的一个新实例。 若是忽略了 pathname 参数,那么 GetObject 将返回指定类型的当前活动实例。 若是不存在指定类型的对象,那么将出错。
一些应用程序容许激活文件的一部分。要实现此功能,能够在文件名的尾部添加一个感叹号 (!) ,而后在感叹号后跟上一个字符串来指定要激活的文件部分。关于如何建立这个字符串的详细信息,请参阅建立该对象的应用程序的文档。
例如,在一个绘画应用程序中,可能在文件中存储了绘画的不少层次。 能够使用下面的代码激活名为 SCHEMA.CAD 的图画中的一层。
var LayerObject = GetObject("C:\\CAD\\SCHEMA.CAD!Layer3");http://www.82676666.com
若是没有指定对象的类, Automation 将根据所提供的文件名来决定要启动的应用程序和要激活的对象。 可是,一些文件可能支持不止一种对象的类。 例如,一个图画可能支持三种不一样的对象类型:应用程序对象、绘画对象,以及工具栏对象,全部这些都是同一个文件中的部分。 要指定文件中但愿激活的对象,能够使用可选的 class 参数。 例如:
var MyObject;
MyObject = GetObject("C:\\DRAWINGS\\SAMPLE.DRW", "FIGMENT.DRAWING");
在前面的例子中,FIGMENT 是绘画应用程序的名称,而 DRAWING 是它支持的一种对象类型。 对象被激活后,能够使用定义的对象变量来引用它。 在前面的例子中,能够经过对象变量 MyObject 来访问新对象的属性和方法。 例如:
MyObject.Line(9, 90);
MyObject.InsertText(9, 100, "Hello, world.");
MyObject.SaveAs("C:\\DRAWINGS\\SAMPLE.DRW");
注意 若是当前已经有了对象的实例,或者想要由已经加载了的文件建立对象,那么能够使用 GetObject 函数。 若是没有当前的实例,并且也不想由已经加载的文件来启动对象,那么能够使用 ActiveXObject 对象。
若是对象自身已经注册为单实例对象了,那么不管执行多少次 ActiveXObject 也只会建立对象的一个实例。 对于单实例对象, GetObject 在用长度为零的字符串 ("") 语法调用时老是返回相同的实例,而若是忽略了 pathname 参数就会出错。