我正在使用C++創建一個簡單的DLL,我可以使用VBA代碼。但是,雖然它在我的開發計算機上工作,但試圖訪問不同計算機上的DLL時,VBA聲明DLL文件未找到,儘管硬編碼路徑。儘管硬編碼位置,VBA仍無法找到我的DLL。
我的DLL看起來像這樣(使用Visual C++ 2010爲表達一個Win32 DLL項目):
DEF文件:
LIBRARY "squareNumber"
EXPORTS
squareNumber
Function.cpp:
double __stdcall squareNumber(double & x)
{
return x*x;
}
的VBA代碼如下所示:
Public Declare Function squareNumber Lib "C:\MySimpleDLL.dll" (ByRef number As Double) As Double
Sub test()
MsgBox squareNumber(2)
End Sub
我對C++ DLL非常陌生,我編寫的DLL錯誤,還是VBA的問題?
使用RegSvr32還會產生「模塊[dllpath]加載失敗,請確保二進制文件存儲在指定路徑或調試它以檢查二進制或相關.DLL文件的問題。
Project + Properties,C/C++,代碼生成。將運行時庫更改爲/ MT。這可以避免在忘記在目標機器上安裝CRT或使用Debug版本而不是Release版本時的麻煩。 –