从 Excel 2010 中的 VBA 调用的 C++ DLL 仅适用于管理员模式

标签 c++ dll visual-studio-2012 excel-2010

我在 Visual Studio 2012 中创建了一个执行计算的简单 dll。我使用以下语法从 Excel 2010 中的 VBA 调用此 dll:

Declare Sub MyFunction Lib "MyDll.dll" (ByRef param1 As Double, ByVal param2 As Double)

这个函数在我的开发机器上运行得很好。当我尝试在另一台计算机上运行此 dll 时,出现以下错误:

Run-time error '53': File not found: MyDll.dll

但是,当我以管理员(提升)模式运行 Excel(在另一台计算机上)时,我没有收到此错误并且一切正常。

有什么方法可以在不让用户以管理员身份运行 Excel 的情况下使它正常工作?

最佳答案

据我推测,您的 DLL 不在工作目录、PATH 变量目录或系统目录中。 Excel 不会在您的 DLL 所在的目录中查找,因此您需要将 DLL 移动到系统目录、PATH 变量目录之一或 excel 的工作目录中。

关于从 Excel 2010 中的 VBA 调用的 C++ DLL 仅适用于管理员模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16864840/

相关文章:

c++ - SDL2/SDL 图像奇怪的 PNG 行为与 RGB 值

qt - 如何编译 Qt 应用程序以便不需要 Microsoft 的 dll?

c# - 尝试将 Autofac 作为嵌入式程序集加载时出现 FileNotFoundException

c++ - 升级到VS2012导致由于VC++运行时不同而崩溃?

c++ - 如何对 vector 进行二进制搜索以查找具有特定 id 的元素?

c++ - 在 C++ 程序中使用多个 .cpp 文件?

c++ - 无法使用现有代码在 Netbean C++ 项目中添加测试

c++ - DLL包装器和DLL之间的区别

c++ - VS 2012 - XP 问题

c# - 为什么 log4net 不写入文件?