Applies ToMicrosoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

注意: 如果 Microsoft Jet 表达式服务在沙盒模式下运行,则禁用本主题中所述的函数、方法、对象或属性,这会阻止计算潜在的不安全表达式。 有关沙盒模式的详细信息,请在“帮助”中搜索“沙盒模式”。

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

语法

CreateObject ( [, servername] )

CreateObject 函数语法具有以下参数:

参数

说明

必需。 变量 (字符串) 。 要创建的对象的应用程序名称和类。

servername

可选。 变量 (字符串) 。 要在其中创建对象的网络服务器的名称。 如果 servername 是空字符串 (“”) ,则使用本地计算机。

参数 使用语法 appnameobjecttype 和 具有以下部分:

部分

说明

appname

必需。 变量 (字符串) 。 提供 对象的应用程序的名称。

objecttype

必需。 变量 (字符串) 。 要创建的对象的类型或 类 。

备注

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

若要创建 ActiveX 对象,请将 CreateObject 返回的对象分配给 对象变量 :

注意: 下面的示例演示了如何在 Visual Basic for Applications (VBA) 模块中使用此函数。 有关使用 VBA 的详细信息,请在搜索旁边的下拉列表中选择“开发人员参考”,并在搜索框中输入一个或多个术语。

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

在此示例中,我们将从 Access 数据库中自动执行 Excel 电子表格对象。 此代码启动创建对象(在本例中为 Microsoft Excel 电子表格)的应用程序。 创建对象后,可以使用定义的对象变量在代码中引用它。 在以下示例中,使用 object 变量、 ExcelSheet和其他 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 声明对象变量。 例如,可以声明并创建以下 Excel 引用:

Dim xlApp As Excel.Application Dim xlBook As Excel.WorkbookDim xlSheet As Excel.WorkSheetSet xlApp = CreateObject("Excel.Application")Set xlBook = xlApp.Workbooks.AddSet xlSheet = xlBook.Worksheets(1)

通过早期绑定变量的引用可以提供更好的性能,但只能包含对 声明 中指定的 类 的引用。

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

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

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

注意:  有关使应用程序在远程联网计算机上可见的其他信息,请参阅 COM 文档 (Microsoft 开发人员网络) 。 可能需要为应用程序添加注册表项。

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

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

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

注意:  如果没有对象的当前实例,请使用 CreateObject 。 如果对象的实例已在运行,则启动一个新实例,并创建指定类型的对象。 若要使用当前实例,或者要启动应用程序并使其加载文件,请使用 GetObject 函数。

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

示例

此示例使用 CreateObject 函数设置引用 (

xlApp

) Excel。 它使用 引用访问 Excel 的 Visible 属性,然后使用 Excel Quit 方法将其关闭。 最后,释放引用本身。

Dim xlApp As Object    ' Declare variable to hold the reference.Set xlApp = CreateObject("excel.application")    ' You may have to set Visible property to True    ' if you want to see the application.xlApp.Visible = True    ' Use xlApp to access Microsoft Excel's     ' other objects.xlApp.Quit    ' When you finish, use the Quit method to close Set xlApp = Nothing    ' the application, then release the reference.

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。