64位Excel VBA可以使用VB6 ActiveX吗?

问题描述 投票:0回答:1

我有一些用 VB6 编写的旧 ActiveX 控件和 DLL,它们与一些 Excel VBA 代码交互。我们一直建议人们使用 32 位版本的 Excel,但我想我应该再尝试一下让它在 64 位中运行。

这可能吗?

这些对象是使用 CreateObject(后期绑定)在 VBA 代码中创建的,但在使用编译的 ocx/dll 时会失败。如果我在 VB6 IDE 中运行代码,它可以毫无问题地创建对象。

任何建议表示赞赏。

excel vba vb6
1个回答
0
投票

这实际上非常简单,尽管我浪费了很多时间研究其他选项。

所需要做的就是将项目类型从 ActiveX DLL 或 ActiveX ocx 更改为 ActiveX exe。 Excel 或 VB 端均无需更改代码。

部署需要进行一些调整。我们用于制作安装程序的系统有一个注册 dll 和 ocx 的选项,但这对 exe 不起作用,但我所需要做的就是告诉它在安装结束时使用 /regserver 参数运行 exe。

© www.soinside.com 2019 - 2024. All rights reserved.