在Excel 2010中从VBA调用的C ++ DLL仅在管理员模式下工作

时间:2013-05-31 19:50:20

标签: 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的情况下让它工作?

1 个答案:

答案 0 :(得分:1)

我可以猜测你的DLL不在工作目录,PATH变量目录或系统目录中。 Excel不会查看您的DLL目录,因此您需要将DLL移动到系统目录,PATH变量目录之一或excels的工作目录。