VBA声明一个库vs动态加载它

时间:2014-06-09 19:55:52

标签: excel vba excel-vba vbscript reference

我在VBA中创建一个使用vbscript.dll

引用的应用程序

我正在尝试找出加载库的最佳方法,并且难以区分使用声明函数(http://msdn.microsoft.com/en-us/library/aa716201(v=vs.60).aspx)或仅将其动态添加到引用列表中{{3} },最佳答案的第2部分)

如果有人能澄清两者之间的结果差异,也许还有一些优点,我会非常高兴。

我的笔记:
我喜欢一个简单的声明函数的外观,一方面它很简短,看起来不错。另一方面,我喜欢避免硬编码路径,除非我知道在不同的地方找不到文件 另一方面,我非常喜欢方法2中的错误处理。

1 个答案:

答案 0 :(得分:2)

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

引用用于COM对象 - 即定义类型库和COM接口的库。

图书馆很少支持两者。如果你拥有的是一个COM库(如果它出现在'References'对话框中),添加对它的引用并以这种方式实例化。

相关问题