【问题标题】:How can I adapt a 32-bit VB6 application to work with 64-bit Office?如何使 32 位 VB6 应用程序适应 64 位 Office?
【发布时间】:2011-12-01 05:52:38
【问题描述】:

我有一个使用最新 Office 32 位版本的 VB 6.0 和 VBA 开发的应用程序。但是由于这个应用程序是 32 位的,它不能在安装了 64 位 Office 版本的系统上运行。将此应用程序移植到 64 位时必须采用的最佳策略是什么。我们的任务是使用 VB.NET 和从 VB/VBA 到 .NET 64 位的最小(尽可能)代码修改。请建议我可以使用的最佳选项,以便我可以利用此移植的所有最佳实践。

【问题讨论】:

  • 如果你有 32 位二进制文​​件(EXE 或 DLL),那么你就卡住了。如果您拥有所有源代码,则需要将其全部移植到 VB.Net 以将其编译为与机器无关的 .Net 二进制文件。

标签: vb.net 64-bit ms-office compatibility vb6-migration


【解决方案1】:

@Prof.Falken 的回答很好,移植到 VB.NET 本身可能是个好主意,但这并不能保证您可以轻松获得 64 位版本的应用程序。如果您的 .NET 端口将使用 32 位 ActiveX 组件而您没有 64 位替代品,那么这将无济于事。以下列出了一些需要考虑的主题:

http://office.microsoft.com/en-us/word-help/choose-the-32-bit-or-64-bit-version-of-microsoft-office-HA010369476.aspx

在我们的工作场所,系统管理员决定不在任何新的 64 位 Windows 机器上安装 64 位 Office,因为这里使用的应用程序太多(也来自第三方供应商),这会遇到其他问题。目前,我们并没有看到 64 位 Office 版本给我们带来的太多好处。

在这里我找到了另一个你可能会感兴趣的链接:

http://www.pcpro.co.uk/news/enterprise/356173/microsoft-warns-users-off-64-bit-office-2010

【讨论】:

  • 感谢所有 cmets。这很有帮助
【解决方案2】:

根据代码的外观,其中一种或两种可能是一种好方法:

a) 将其移植到 VB.NET 或其他语言。

b) 将其保留在 VB6 中,但用包装器调用替换它与 Office 对话的每个地方。此包装器调用与 VB.NET 应用程序对话,而后者又与 Office 对话。

方法b的结果是,它可以保持旧VB6程序中的所有业务逻辑不变。这是否合适取决于程序的外观,程序员的经验等等。旧的 VB6 程序和新的 VB.NET 可以通过例如 COM 或XML-RPC 相互通信。

【讨论】:

  • 感谢所有 cmets。这很有帮助。
猜你喜欢
  • 2013-01-19
  • 2012-07-11
  • 1970-01-01
  • 1970-01-01
  • 2012-02-02
  • 1970-01-01
  • 2013-04-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多