繁体   English   中英

C ++ DLL可从32位Excel VBA运行,但为64位Excel重新编译时则无法运行

[英]C++ DLL works from 32 bit Excel VBA, but not when recompiled for 64 bit Excel

使用Visual Studio 2010 Premium,我已经构建了32位和64位版本的c ++ DLL,用于从Excel 2010 Visual Basic进行调用。 它在32位Excel上很好用,但是在64位Excel上,我得到了可怕的“错误53,找不到文件”。 DLL仅包含两个导出的函数,一个函数可以在Excel-64上正常运行,但另一个函数会触发错误。 Dependency Walker并没有帮助我。 该问题应该是缺少的依赖项,但我不知道这是什么。

没关系。 管理文件夹路径是一个严重的错误。 我很清楚这种问题会导致错误53,但我认为这不是我的问题,但确实是。

为了使Excel VBA能够加载DLL,必须在其中调用函数之前将CurDir()设置到包含DLL的文件夹中,否则整个路径都必须在VBA Declare语句中。 我以为我在通话之前要更换CurDir,但是没有。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM