Windows DLL 问题

标签 windows vba dll

我在使用使用 C DLL 的 Excel VBA 应用程序时遇到问题。 DLL 始终存储在电子表格上方的目录中,并且使用以下命令从 VBA 中调用其方法:

#If Win64 Then
   Public Declare PtrSafe Function <function name> Lib "..\<dllname>" () As Long
#else
   Declare Function <function name> Lib "..\<dllname>" () As Long
#end if

您可以将这两个文件及其目录结构打包在一个 zip 文件中,然后在 Windows 安装(不同版本和 32 位或 64 位)中移动它,它可以正常工作,除了在一台计算机上,我们不知道为什么。我们得到的只是一个错误,即程序无法从调用 dll 方法的 VBA 方法中在 ..\处找到 dll。安装 MFC100.dll 解决了之前的运行时错误 53 问题,这使我们达到了现在的目标。

如果您对如何解决这个问题有任何建议,或者尝试什么的想法,我将非常感激, 詹姆斯

最佳答案

如果实际上问题是缺少 DLL 的依赖项之一,VBA 往往会提示它“找不到”DLL。我怀疑这就是问题所在。尝试(重新)安装Visual C++ libraries 。或者,在 Dependency Walker 中打开有问题的 DLL。 (或类似的工具)来准确找出它想要什么。

关于Windows DLL 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13457619/

相关文章:

windows - 当文件进入回收站时,权限会发生什么变化?

vba - 如何使用 VBA 切换 Interior.Color

excel - VBA 没有将按钮放在我想要的位置

php - 安装PHP时电脑报错msvcr110.dll丢失

c++ - 如何将 DLL 链接到我的项目?错误 LNK2019 : unresolved external symbol

node.js - 可以将 npm 3.x 与 nodejs 4.x 一起使用吗?

python 套接字 : winerror 10056

ms-access - 如何在运行时在 VBA 代码中更改 MS Access 子窗体的 View ?

windows - 在 WiX 安装程序中安装 32 位文件和 64 位注册表设置

windows - 64 位大型 malloc