GetObject 函数

从文件中返回对自动化对象的引用。该函数有两种形式。

function GetObject(class: String)function GetObject(pathname: String [,class: String])

参数

  • class
    必选。“appName.objectType”形式的字符串,其中 appName 是提供该对象的应用程序的名称,objectType 是要创建的对象的类型或类。
  • pathname
    必选。包含要检索对象的文件的完整路径和名称。如果省略 pathname,则必须提供 class

备注

使用 GetObject 函数可以从文件中访问一个 Automation 对象。可以将由 GetObject 返回的对象赋给对象变量。例如:

var CADObject;
CADObject = GetObject("C:\\CAD\\SCHEMA.CAD");

在执行这段代码时,将启动与指定的 pathname 关联的应用程序,并且指定文件中的对象将被激活。如果 pathname 是零长度字符串 (""),则 GetObject 返回指定类型的新对象实例。如果省略 pathname 参数,则 GetObject 返回指定类型的当前活动对象。如果指定类型的对象不存在,则发生错误。

某些应用程序使您得以激活文件的部分内容。若要实现此功能,请在文件名尾部加一个感叹号 (!),然后在感叹号后加一个用来标识要激活文件部分的字符串。有关如何创建该字符串的信息,请参见创建对象的应用程序的相关文档。

例如,在绘图应用程序中,可将一幅图形的多个层存储在一个文件中。可以使用以下代码激活名为 SCHEMA.CAD 的图形中的某一层:

var LayerObject = GetObject("C:\\CAD\\SCHEMA.CAD!Layer3");

如果未指定对象的类,则 Automation 将根据所提供的文件名来确定要启动的应用程序和要激活的对象。但是某些文件可能支持多个类的对象。例如,一幅图形可能支持三种不同类型的对象:Application 对象、Drawing 对象和 Toolbar 对象,所有这些对象都是同一文件的组成部分。若要指定要在文件中激活的对象,请使用可选的 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 时,GetObject 始终返回同一实例,如果省略 pathname 参数,则会导致错误。

要求

版本 5

请参见

ActiveXObject 对象