首页 > 解决方案 > Excel VBA第二次打开时加载DLL失败,错误代码为53

问题描述

我已经构建了一个 c++ DLL 导出一些将在 VBA 中调用的函数。我的 Excel 版本是 2016。我在 Visual Studio 2017 中构建了 DLL。

当我使用以下 vba 代码创建一个新的 excel 文件时,它可以工作。但是,当我打开该 excel 文件并尝试再次运行时,它会抱怨“找不到文件”,错误代码为 53。

所以我必须不断地创建新文件并一次又一次地粘贴代码才能运行它。

请问有什么建议吗?谢谢。

Private Declare Function login Lib "XXX.dll" Alias "_login@0" () As Boolean
Private Declare Function logout Lib "XXX.dll" Alias "_logout@0" () As Boolean


Sub test()
    b = login()
    logout
End Sub

更新:

如果我通过 Excel 中的“打开文件”对话框打开工作簿(我必须在该对话框中选择其目录中的文件),则可以加载 DLL。如果我双击工作簿将其打开,则 DLL 无法加载。

标签: excelvbadll

解决方案


推荐阅读