VBA声明一个库vsdynamic加载它

我在VBA中创build一个使用vbscript.dll引用的应用程序

我想找出加载库的最佳方法,并且难以区分使用声明函数( http://msdn.microsoft.com/en-us/library/aa716201(v=vs.60) .aspx )或只是dynamic地将其添加到引用列表( 如何以编程方式添加引用 ,第2部分的最佳答案)

如果有人能澄清两者之间的差异,也许有一个好处,我会很高兴。

我的笔记:
我喜欢一个简单的声明函数的外观,一方面它很短,看起来不错。 另一方面,我喜欢避免硬编码的path,除非我知道这些文件不会在不同的地方find。
另一方面,我真的很喜欢方法2中的error handling。

Declare (通常)用于调用从Windows DLL导出的支持stdcall的函数。 VB运行时负责调用LoadLibraryGetProcAddress等来定位和加载你声明的函数。 大部分的Windows API都是以这种方式从VB / VBA中使用的。

引用用于COM对象 – 也就是定义types库和COM接口的库。

图书馆很难同时支持这两者。 如果你有什么是一个COM库(如果它出现在“引用”对话框中),添加一个引用,并以此方式实例化。