2

我已经在这里提到了这个关于后期绑定的帖子,但我不确定它是否回答了我的问题。我被迫使用 Access VBA 在 XP 的 Office 2003 和 Win 7 的 Office 2010 之间切换。如果我在 2010 年编辑,则 2003 年无法打开文件,因为“加载 .dll 失败”这与 Office 2003 中缺少我的 Microsoft Outlook 14.0 对象库有关。

如果我正在进行后期绑定,是否有任何理由检查对象库?还是无论如何都必须检查它,我总是需要在 2003 年进行编辑?

提前致谢!

4

1 回答 1

5

不,如果您使用后期绑定,则不需要在 VBA 项目中“勾选”参考。

通常我会做的是

  • 使用早期绑定构建我的代码,因此 IntelliSense 将帮助我避免拼写错误并帮助我记忆:方法/属性名称、参数等,然后

  • 一旦(或多或少)最终确定,将我的代码转换为后期绑定

这就是为什么在我的一些示例代码中,您会看到类似

Dim fso as Object  '' FileSystemObject
...
Set fso = CreateObject("Scripting.FileSystemObject")  '' New FileSystemObject

注释 ( '') 中的项目是原始的早期绑定声明,然后我将它们替换为ObjectandCreateObject()调用(后期绑定),但将原件保留为注释,以防我想将它们改回来。

而且,您似乎已经发现,我还必须记住删除VBA 项目中的引用,否则可能会在不同的机器上导致问题(在这些情况下,避免这些问题是后期绑定的重点)。

于 2013-04-11T21:02:42.297 回答