Access 2003完整教程:GetObject 函数

注释如果 Microsoft Jet Expression Service 正在沙盒模式下运行(此模式将阻止对可能不安全的表达式进行计算),则本主题中的函数、方法、对象或属性都将被禁用。有关沙盒模式的详细信息,请在帮助中搜索“沙盒模式”。

返回对 ActiveX 组件所提供的对象的引用。

语法

GetObject([pathname] [, class])

GetObject函数语法具有以下命名参数:

部分说明
pathname可选。Variant(String) 值。该值是包含待检索对象的文件所具有的完整路径和名称。如果忽略pathname,则必须要有class
class可选。Variant(String) 值。该值是表示对象的类的字符串。

class参数使用语法 appname.objecttype,包括以下几部分:

部分说明
appname必选。Variant(String)。提供该对象的应用程序所使用的名称。
objecttype必选。Variant(String)。要创建的对象的类型或类。

说明

使用GetObject函数可访问文件内的 ActiveX 对象,并将该对象分配给对象变量。使用Set语句可将GetObject所返回的对象赋给对象变量。例如:

Dim CADObject As Object
Set CADObject = GetObject("C:\CAD\SCHEMA.CAD")

执行此代码时,与所指定的pathname相关联的应用程序会启动,并且会激活指定文件中的对象。

如果pathname是长度为零的字符串 (""),则GetObject会返回指定类型的新对象实例。如果忽略了pathname参数,则GetObject会返回当前活动的指定类型对象。如果不存在指定类型的对象,则会发生错误。

一些应用程序允许激活文件的一部分。要这样做,请在文件名称的末尾添加惊叹号 (!),并在惊叹号后面添加标识要激活的文件部分的字符串。有关如何创建此字符串的信息,请参阅创建对象的应用程序的文档。

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

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

如果不指定对象的class,则自动化功能会基于您提供的文件名自动确定要启动的应用程序和要激活的对象。但是,有些文件可能支持多个对象类。例如,一个图形可能支持三种不同类型的对象:应用程序对象、图形对象和工具栏对象,所有这三个对象都是同一个文件的组成部分。若要指定文件中要激活的对象,请使用可选的class参数。例如:

Dim MyObject As Object
Set 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函数。如果没有当前实例,并且您不想用加载的文件启动对象,请使用CreateObject函数。

如果对象已将自身注册为单实例对象,则不管执行了多少次CreateObject,都只创建一个对象实例。通过单实例对象,GetObject在通过长度为零的字符串 ("") 语法被调用时总是返回同一实例,如果忽略了pathname参数,则会导致错误发生。无法使用GetObject来引用 Visual Basic 所创建的类。

上页:Access 2003完整教程:GetAttr 函数 下页:Access 2003完整教程:GetSetting 函数

Access 2003完整教程:GetObject 函数

Access 2003完整教程:GetSetting 函数Access 2003完整教程:Hex 函数
Access 2003完整教程:Hour 函数Access 2003完整教程:IIf 函数
Access 2003完整教程:IMEStatus 函数Access 2003完整教程:Input 函数
Access 2003完整教程:InputBox 函数Access 2003完整教程:InStr 函数
Access 2003完整教程:InStrRev 函数Access 2003完整教程:Int、Fix 函数
Access 2003完整教程:IPmt 函数Access 2003完整教程:IRR 函数
Access 2003完整教程:IsArray 函数Access 2003完整教程:IsDate 函数
Access 2003完整教程:IsEmpty 函数Access 2003完整教程:IsError 函数
Access 2003完整教程:IsMissing 函数Access 2003完整教程:IsNull 函数
Access 2003完整教程:IsNumeric 函数Access 2003完整教程:IsObject 函数
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号