有关使应用程序可在联网的远程计算机上访问的附加信息,请参考 COM 文档(参见 Microsoft Developer Network)。可能需要为应用程序添加注册表项。
下面的代码返回在名为 MyServer 的远程计算机上运行的 Excel 实例的版本号:
复制代码
Sub CreateRemoteExcelObj()
Dim xlApp As Object
' Replace string \\MyServer with name of the remote computer.
xlApp = CreateObject(Excel.Application, \\MyServer)
MsgBox(xlApp.Version)
End Sub
如果远程服务器名不正确或者不可用,将发生运行时错误。
注意
当不存在对象的当前实例时使用 CreateObject。如果对象的实例已经正在运行,则将启动新的实例并创建指定类型的对象。若要使用当前实例或者启动应用程序并让它加载文件,请使用 GetObject 函数。如果对象本身已经注册为单实例对象,则无论执行多少次 CreateObject,也只创建一个对象实例。
创建 Framework 对象
CreateObject 函数只能用于创建 COM 对象。尽管没有用于创建 .NET Framework 对象的完全等效机制,但 System 命名空间中的 Activator 包含有一些方法来创建本地或远程对象。具体而言,CreateInstance 方法或 CreateInstanceFrom 方法很有用。
安皮州羡全注意
CreateObject 函数需要非托管代码权限,这可能会对它在部分信任情况下的执行产生影响。有关更多信息,请参见 SecurityPermission 和代码访问权限。
示例
下面的示例使用 CreateObject 函数来创建 Microsoft Excel 工作表,并将该工作表保存到文件中。若要使迹碰用此示例,必须在运行此程序的计算机上安装 Excel。而且,您必须从“项目燃拍”菜单上“添加引用”对话框的“COM”选项卡中添加对类型库的引用。根据计算机上安装的 Excel 版本,类型库的名称将有所不同。例如,对于 Microsoft Excel 2002,类型库的名称为 Microsoft Excel 10.0 Object Library。
Visual Basic 复制代码
Sub TestExcel()
Dim xlApp As Microsoft.Office.Interop.Excel.Application
Dim xlBook As Microsoft.Office.Interop.Excel.Workbook
Dim xlSheet As Microsoft.Office.Interop.Excel.Worksheet
xlApp = CType(CreateObject(Excel.Application), _
Microsoft.Office.Interop.Excel.Application)
xlBook = CType(xlApp.Workbooks.Add, _
Microsoft.Office.Interop.Excel.Workbook)
xlSheet = CType(xlBook.Worksheets(1), _
Microsoft.Office.Interop.Excel.Worksheet)
' The following statement puts text in the second row of the sheet.
xlSheet.Cells(2, 2) = This is column B row 2
' The following statement shows the sheet.
xlSheet.Application.Visible = True
' The following statement saves the sheet to the C:\Test.xls directory.
xlSheet.SaveAs(C:\Test.xls)
' Optionally, you can call xlApp.Quit to close the workbook.
End Sub