【发布时间】:2010-10-01 08:52:52
【问题描述】:
我正在部署一个需要 Scripting.Dictionary 和 RegExp 的早期绑定样式的 VBA 模块。
可以预见,该脚本在另一台计算机上运行时会失败。 用户必须转到 VBA IDE 中的 Tools->Reference 并手动添加对这两个库的引用才能使其工作。
这就是问题所在。要求非技术最终用户转到 IDE 并手动添加引用对他们的要求太多了。
另一种选择是重写整个(由其他人编写的非常长的脚本)以使用后期绑定。如果有其他方法,我宁愿不走这条路。
作为替代方案,有些人建议像这样以编程方式添加引用:
Application.VBE.ActiveVBProject.References.AddFromFile [Path to library]
- 这是正确的解决方案吗?如果是,此策略有什么缺点吗?
- 如果没有,是否有其他方法可以使代码保持早期绑定但不需要用户手动添加引用。
也欢迎直接调用 Win32/64 API 的建议。
谢谢。
【问题讨论】:
-
我能想到的唯一缺点是使用 VBE 路线是用户必须专门启用对 VBA 项目模型的编程访问。虽然是相当小的问题。如果我站在你的立场上,这就是我要走的路。
标签: vba