Access 2003完整教程:CreateObject 函数

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

创建并返回对 ActiveX 对象的引用。

语法

CreateObject(class,[servername])

CreateObject函数语法具有以下部分:

部分说明
class必选;Variant(String)。要创建对象的应用程序名称和类。
servername可选;Variant(String)。将在其上创建对象的网络服务器的名称。如果 servername 是空字符串 (""),那么将使用本地计算机。

class 参数使用语法 appname.objecttype 并具有以下部分:

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

说明

每一种支持“自动化”的应用程序均提供至少一种类型的对象。例如,字处理应用程序可能提供Application对象、Document对象以及Toolbar对象。

要创建 ActiveX 对象,请将由CreateObject返回的对象指派给对象变量:

' Declare an object variable to hold the object
' reference. Dim as Object causes late binding.
Dim ExcelSheet As Object
Set ExcelSheet = CreateObject("Excel.Sheet")

该代码将启动一个创建对象的应用程序,在本例中是 Microsoft Excel 电子表格。创建对象之后,就可以使用所定义的对象变量在代码中引用它。在下例中,将使用对象变量ExcelSheet以及其他 Microsoft Excel 对象(包括Application对象和Cells集合)来访问新对象的属性和方法。

' Make Excel visible through the Application object.
ExcelSheet.Application.Visible = True
' Place some text in the first cell of the sheet.
ExcelSheet.Application.Cells(1, 1).Value = "This is column A, row 1"
' Save the sheet to C:\test.xls directory.
ExcelSheet.SaveAs "C:\TEST.XLS"
' Close Excel with the Quit method on the Application object.
ExcelSheet.Application.Quit
' Release the object variable.
Set ExcelSheet = Nothing

如果使用As Object子句来声明对象变量,所创建的变量可以包含对任何类型对象的引用。然而,通过该变量访问对象是晚期绑定;即绑定在程序运行时发生。若要创建可产生早期绑定的对象变量,即绑定在程序被编译时发生,请使用特定的类 ID 声明对象变量。例如,您可以声明并创建下列 Microsoft Excel 引用:

Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.WorkSheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)

通过早期绑定变量进行的引用可以得到更好的性能,但只能包含对在声明中所指定的类的引用。

可以将一个由CreateObject函数返回的对象传递给希望对象作为参数的函数。例如,下列代码将创建并传递一个 Excel.Application 对象的引用:

Call MySub (CreateObject("Excel.Application"))

通过将计算机名传递给CreateObject的 servername 参数,可以在远程联网计算机上创建对象。该名称与共享名中的 Machine Name 部分相同:对于名为“\\MyServer\Public”的共享,servername 将为“MyServer”。

注释请参阅 COM 文档(请参阅 Microsoft Developer Network)以获得有关在远程联网计算机上使应用程序可见的其他信息。您可能需要添加应用程序的注册表项。

下列代码将返回运行在名为MyServer的远程计算机上的一个 Excel 实例的版本号:

Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application", "MyServer")
Debug.Print xlApp.Version

如果远程服务器不存在或不可用,将产生运行时错误。

注释对象没有当前实例时,可以使用CreateObject。如果对象的一个实例已经运行,那么将启动一个新实例,并且创建指定类型的对象。若要使用当前实例,或启动应用程序并使其加载文件,请使用GetObject函数。

如果对象已将自身注册为单实例对象,那么无论执行多少次CreateObject,也只能创建该对象的一个实例。

上页:Access 2003完整教程:Cos 函数 下页:Access 2003完整教程:CurDir 函数

Access 2003完整教程:CreateObject 函数

Access 2003完整教程:CurDir 函数Access 2003完整教程:CVErr 函数
Access 2003完整教程:Date 函数Access 2003完整教程:DateAdd 函数
Access 2003完整教程:DateDiff 函数Access 2003完整教程:DatePart 函数
Access 2003完整教程:DateSerial 函数Access 2003完整教程:DateValue 函数
Access 2003完整教程:Day 函数Access 2003完整教程:DDB 函数
Access 2003完整教程:Dir 函数Access 2003完整教程:DoEvents 函数
Access 2003完整教程:Environ 函数Access 2003完整教程:EOF 函数
Access 2003完整教程:Error 函数Access 2003完整教程:Exp 函数
Access 2003完整教程:FileAttr 函数Access 2003完整教程:FileDateTime 函数
Access 2003完整教程:FileLen 函数Access 2003完整教程:Format 函数
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号