簡體   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