5

这是我的问题:我编写了一个由常用方法和函数组成的 VBA 类模块。我不断完善模块并对其进行更改。

问题是我在几乎所有的 VBA 项目中都包含了这个模块,而且我真的不想在每次进行更改时都将新模块导入到每个项目中。

我的问题:创建一个我的所有项目都将链接到的 DLL 有意义吗?还是有更有意义的替代解决方案?

谢谢

4

1 回答 1

4

如果您要创建一个我认为非常有意义的 DLL,您可能希望使用构建在 .NET 框架上的语言来执行此操作,例如 VB.NET 或 C#。这提供了通过构建 32 位和 64 位版本来解决 32 位和 64 位问题的能力。

值得注意的是,在 Windows 64 位和 Office 32 位上运行的 32 位 DLL 可以正常工作。当用户运行 Office 64 位时,您需要担心。

关于部署,您可以花一些额外的时间来创建安装程序(例如使用 NSIS),以使部署更加简单。此安装程序将用于在目标机器上注册 DLL。您还可以让安装程序同时安装 32 位和 64 位版本的 DLL,以保证 DLL 兼容,而不管用户配置如何。我喜欢注册两个位版本的想法,以避免用户拥有 Windows 64 位/Office 32 位环境并决定将其 Office 版本升级到 64 位的情况。如果您已经安装了 64 位版本,则对 DLL 的引用将正确解析。

于 2013-02-19T19:15:12.237 回答