我想在Excel中运行C ++函数,但我一直在使用" #NAME?"我试图打电话给他们时出错。 我正在使用Visual Studio 2015和Excel 2016。
.cpp文件(temp.cpp):
_declspec(dllexport) double _stdcall square(double x)
{
return x*x;
}
Excel VBA中的声明:
Declare Function square _
Lib "c:\users\rune\documents\visual studio 2015\Projects\temp\Debug\temp.dll" Alias "?square@@YGNN@Z" (ByVal x As Double) As Double
这是我做的:
在Visual Studio中,在“File \ New \ Project \ Win32控制台应用程序”中,我选择“应用程序类型”下的“DLL”和“其他选项”下的“清空项目”(我取消选中“安全开发生命周期[SDL]检查”)。 我在“Project \ Properties \ Configuration Properties \ C / C ++ \ Advanced”中将Calling Convention更改为“__stdcall(/ Gz)”。 然后我编译了这个项目。
在Excel中,我添加了一个带声明的新模块,并在单元格中尝试了以下公式:
=square(10)
我做错了什么?