无法从VBA代码访问dll文件。如何查找DLL的问题?

无法从VBA代码访问dll文件。如何查找DLL的问题?,vba,dll,Vba,Dll,我用VBA代码引用DLL时遇到问题 我的目标是: 我有一个DLL文件,用C++编写代码(我猜是这样的)并编译了。我不知道里面写的是什么。 我必须从我的VBA代码访问这个dll,从dll中获取结果。我对dll的输入是excel工作表中的3个整数值 我已经这样声明了dll 将函数二次库“C:…\Desktop\Test\quadratic.dll”(ByVal a为整数,ByVal b为整数,ByVal C为整数)公开声明为双精度 (…三点只是窗口方向) 单击一个按钮,我从工作表中读取输入值a、b、

我用VBA代码引用DLL时遇到问题

我的目标是: 我有一个DLL文件,用C++编写代码(我猜是这样的)并编译了。我不知道里面写的是什么。 我必须从我的VBA代码访问这个dll,从dll中获取结果。我对dll的输入是excel工作表中的3个整数值

我已经这样声明了dll 将函数二次库“C:…\Desktop\Test\quadratic.dll”(ByVal a为整数,ByVal b为整数,ByVal C为整数)公开声明为双精度 (…三点只是窗口方向)

单击一个按钮,我从工作表中读取输入值a、b、c,并调用传递参数的函数,如下所示 getvalue=二次型(a、b、c)

  • 运行脚本时出现Microsoft Visual Basic错误,如下所示: 运行时错误“48”:找不到文件:C:…\Desktop\Test\quadratic.dll

  • 在此之后,我尝试使用工具->引用->浏览引用此dll,然后映射保存在桌面上的dll文件,我得到一个Microsoft Visual Basic for Application错误提示 无法添加对指定文件的引用

  • 我尝试使用命令regsvr32 C:…\dllname.DLL使用cmd提示符注册DLL,该命令给出以下错误 “LoadLibrary(“C:\Documents”)失败-找不到特定模块”

  • 我试图用命令rundll32.exe C:…\dllname.DLL在cmd提示符下用第二个方法注册DLL,该命令给出以下错误 “加载C:\Documents时出错。找不到特定模块”

  • 我不知道如何解决这个问题。通过修改VB代码,我尝试了各种方法,但没有任何乐趣

    我需要, 1.如何使用VBA脚本引用它? 2.如何在DLL中找到问题为什么我不能在VBA中引用它

    这件事很紧急,请尽早帮助我

    问候,,
    Kabilan

    如果不了解更多有关Dll和正在使用的文件结构的信息,就很难诊断问题,但看起来Dll当前位于“我的文档”或类似目录下。请记住,DOS不会自动处理空格-您需要添加双引号

    再次尝试运行register命令,但这次使用引号将路径括起来,例如

    regsvr32 "C:\Documents and Settings\dllname.dll"
    
    假设这样做有效,您应该能够以步骤2中指定的方式引用Dll