我部署的需要的Scripting.Dictionary和的RegExp的早期绑定风格的VBA模块。如何以编程方式向VBA项目添加引用?
脚本,可以预见,当它运行在另一台计算机上失败。 用户必须转到VBA IDE中的Tools-> Reference并手动添加对这两个库的引用才能使其工作。
因此存在问题。要求非技术最终用户转到IDE并手动添加引用的方式太多了。
另一种方法是重写整个(别人写的很长的脚本)使用后期绑定。如果还有其他方法,我宁可不采取这种方式。
作为altervative,有些人建议通过程序添加引用,象这样:
Application.VBE.ActiveVBProject.References.AddFromFile [Path to library]
- 这是正确的解决方案,如果有,有这个战略的任何缺点?
- 如果不是,还有其他方法可以使代码保持早期绑定,但不需要用户手动添加引用。
建议涉及直接调用的Win32/64 API也欢迎。
谢谢。
唯一的缺点我能想到要去的VBE的路线是,用户将不得不专门启用对VBA项目模型编程访问。虽然相当小问题。这是我会采取的路线,如果我在你的鞋子里。 – 2010-10-01 10:17:18