尝试使用类型库,但我收到了File Not Found错误

时间:2014-01-16 17:32:43

标签: c++ vba visual-c++ dll

我有一个在Visual C ++中创建的类型库,我正在尝试在VBA中调用它的函数。我有两个文件:utility.dllutility.tlb。我通过转到参考文献并浏览到utility.tlb,在我的VBA项目中包含了对库的引用。但是当我编译项目时,我收到一条错误消息:

File not found: utility.dll

我已将两个库文件放在与具有VBA项目的.xlsm文件相同的目录中。我想也许这是一个DLL注册问题,所以我尝试在regsvr32上运行utility.dll并收到以下错误消息:

The module "utility.dll" may not compatible with the version of Windows 
that you're running.  Check if the module is compatible with an x86 (32-bit) 
or x64 (64-bit) version of regsvr32.exe.

我可以访问创建库文件的C ++项目的源代码,.sln文件等。

接下来我应该怎样做才能使我的VBA项目能够使用此类型库?

1 个答案:

答案 0 :(得分:0)

问题是类型库将DLL搜索路径硬编码到仅存在于开发机器上的文件夹。改变这种情况消除了错误。

相关问题