为VBA类模块或更好的替代方案创建DLL?

时间:2013-01-30 16:00:14

标签: vba excel-vba access-vba excel

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

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

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

由于

1 个答案:

答案 0 :(得分:3)

如果您要创建一个我认为非常有意义的DLL,您可能希望使用.NET框架构建的语言(如VB.NET或C#)。这提供了通过构建32位和64位版本来对抗32位和64位问题的能力。

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

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