Vb.net 如何使32位VB6应用程序适应64位Office?

Vb.net 如何使32位VB6应用程序适应64位Office?,vb.net,64-bit,ms-office,compatibility,vb6-migration,Vb.net,64 Bit,Ms Office,Compatibility,Vb6 Migration,我有一个用VB6.0和VBA开发的应用程序,它使用最新的Office 32位版本。但由于此应用程序是32位的,因此它不会在安装了64位Office版本的系统上运行。要将此应用程序移植到64位,我必须采用的最佳策略是什么。我们必须使用VB.NET,并尽可能少地(尽可能多地)将代码从VB/VBA修改为.NET 64位。请建议我可以使用的最佳选项,以便我可以利用此移植的所有最佳实践。根据代码的外观,其中一个或两个可能是一个好方法: a) 将其移植到VB.NET或其他语言 b) 将它保存在VB6中,但用

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

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

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

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


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

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

在我们的工作场所,系统管理部门决定不在任何新的64位Windows计算机上安装64位Office,因为这里使用的应用程序太多(也来自第三方供应商),这会在其他方面遇到麻烦。目前,我们看不到64位Office版本对我们有什么好处

在这里,我发现了另一个对您可能感兴趣的链接:


如果你有32位二进制文件(EXE或DLL),那么你就卡住了。如果你有所有的源代码,你需要将所有的源代码移植到VB.Net,将其编译成独立于机器的.Net二进制文件。非常有帮助。感谢大家的评论。这很有帮助