【发布时间】:2016-06-06 17:48:16
【问题描述】:
我使用 VB6 开发了一个交易应用程序。其中,我使用了 Excel 应用程序对象,如下所示(Excel.Application)。
Set xl = New Excel.Application
Set xlwbook = xl.Workbooks.Add
Dim xlsheet As Worksheet
Set xlsheet = xlwbook.Sheets.Item(1)
而且,我已经使用 Advanced Installer 为该 VB6 的 exe 创建了安装程序,其先决条件为 Office 2010 Primary Interop Assemblies 指向 - o2010pia.msi(启用该选项访问 Excel.Application)。
即使安装了 Office 2010 主互操作程序集,我也无法运行已安装的应用程序。它会抛出 Object Required 错误。
注意:我已经对此进行了谷歌搜索,其中许多人建议了他们针对 C# 和/或 VB .Net 环境的解决方案。我想要它用于 VB6 环境。
请帮我解决这个问题?提前致谢。
【问题讨论】:
-
为什么需要互操作程序集?他们不是要为 Office 产品提供 .NET 接口吗? VB6 将使用普通 COM,因此不需要任何东西。哪一行代码出错了?
-
Set xl = New Excel.Application - 我收到错误消息。
-
那么,程序如何在没有互操作程序集的情况下调用 excel 应用程序对象。因为,客户端计算机没有安装 MS Office。
-
好的,如果您的 PC 上没有 Office,那么它将永远无法工作。互操作程序集只是为您提供了调用 Office 的网关。如果您的程序需要在未安装 Office 的情况下创建 Office 文档,那么您需要查看另一种解决方案。 .NET 应用程序可以使用 OpenXML,但您可能需要查看一下,也许只是创建 CSV 文件?
-
因此,Office 互操作程序集创建了与 Office 和开发工具的桥梁。如果我需要在 VB6 中使用 excel.. 终端机器应该安装 MS Office 吗?
标签: excel vb6 installation excel-interop