【问题标题】:VBA Excel Cannot find DLLVBA Excel 找不到 DLL
【发布时间】:2013-10-25 13:00:08
【问题描述】:

我目前正在尝试在 Excel 工具中向 Power Analyzer 添加控件。该公司提供 USB 驱动程序以及相应的模块和 DLL。我将 DLL 添加到 System32 文件夹以确保它们在路径中被读取。导入模块并尝试运行程序后,我收到错误“找不到文件”。然后我尝试硬编码 DLL 的位置,我收到了同样的错误。

我浏览了互联网,唯一能找到的问题可能是 DLL 中缺少依赖项。我尝试使用的行的一个示例是:

Declare Function TmSend Lib "tmctl.dll" (ByVal id As Long, ByVal msg As String) As Long

此行是制造商提供的模块的一部分。有什么我错过了让它工作吗?我想在联系制造商之前先确认一下。

编辑:

制造商似乎上传了一个损坏的 DLL,从而导致了问题的出现。使用 Dependency Walker 检查文件时,甚至无法读取 DLL。

【问题讨论】:

  • 在 Excel 中找到工具 -> 引用并添加对 DLL 的引用(在 VBA IDE 中)
  • I added the DLLs to the System32 folder to ensure they were read in the path. 是否使用Regsvr32注册
  • @SiddharthRout 当我运行该命令时,我收到一条错误消息,上面写着The module was loaded but the entry-point DllRegisterServer was not found.
  • @Fred DLL 根本不需要在引用中。 References 用于 COM,Declare 用于访问外部过程。

标签: vba excel dll


【解决方案1】:

我从你的问题中看到你已经尝试了所有正常的事情(确保 dll 在你的路径上)

您现在需要仔细检查 dll。下载这个:http://www.dependencywalker.com/

然后用它来打开你的 dll。所有缺少的依赖 dll 都会清楚地显示出来。把它们也放在你的路径上,你就完成了。

(为了消除一些混乱:您不需要注册此 dll 或添加对它的引用。)

【讨论】:

  • + 1 啊!依赖沃克!我怎么会错过:)做得很好
猜你喜欢
  • 2017-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-19
  • 2015-04-13
  • 2015-11-10
  • 1970-01-01
相关资源
最近更新 更多