excel - 为 VBA 类模块创建 DLL 还是更好的替代方案?

标签 excel ms-access vba

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

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

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

谢谢

最佳答案

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

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

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

关于excel - 为 VBA 类模块创建 DLL 还是更好的替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14608266/

相关文章:

C#:OleDbCommand 更新查询不起作用?

excel - VBA 过程仅返回特定日期之前的结果

excel - 引用整个数据透视表的公式?

vba - 检查outlook文件夹是否存在;如果没有创建它

excel - VBA Excel - 使用 AddItem 时将标题添加到组合框

r - 将多个 Excel 工作表绘制成一张图表,无需重复 read.xlsx

c# - 您可以使用不使用剪贴板的 Excel Interop 一次粘贴一个单元格 block 吗?

excel - 有谁知道如何执行水平 xlookup

c# - 尝试使用 Excel 2007 进行办公自动化,但一直使用 Excel 2003

ms-access - Access VBA : Find max number in column and add 1