#VAL!尝试使用 DLL 从 Excel 调用简单 C++ 程序时的答案
#VAL! answers when trying to call a simple c++ program from excel with DLL
我对 c++ 很陌生,对创建 DLL 文件也很陌生。作为训练练习,我尝试创建一个简单的 excel 函数,将输入数据乘以 12。但是,excel不断抛出值错误。
我想我遇到了类似于在 excel 中使用 C++ 2010 dll 的问题。我按照 www.maths.manchester.ac.uk/~ahazel/EXCEL_C++.pdf 中的说明创建了代码,当它不起作用时,我进一步简化了它。
我的 cpp 文件是:
#include "stdafx.h"
using namespace std;
static int _stdcall Multiply(int x)
{
int a = 12;
return a*x;
}
我的 DEF 文件是:
LIBRARY DLLtest
EXPORTS
Multiply
最后,我的VBA代码是:
Declare Function Multiply _
Lib "C:Users[path]DebugDLLtest.dll" _
(ByVal x As Integer) As Integer
编辑:我可能应该补充一点,我正在使用excel 2010和visual studio express 2013。c++代码还附带了一些dllmain.cpp和stdafx中的预构建代码.cpp但我假设这不是问题所在。
事实证明,
您必须更改编译器/项目中的选项,以使其了解如何使用 def 文件和 DLL。这个网站给出了一个很好的解释。
相关文章:
- 在c++中用vector填充一个简单的动态数组
- (C++)分析树以计算返回错误值的简单算术表达式
- 我的简单if-else语句是如何无法访问的代码
- 使用简单类型列表实现的指数编译时间.为什么
- 如何在BST的这个简单递归实现中消除警告
- 一种在C++中读取TXT配置文件的简单方法
- 关于简单C++函数(is_palindrome)的逻辑的问题
- 显示错误输出的简单数组排序程序
- 当无法使用模板和宏时,生成类型变体C++代码的最简单方法是什么?
- 退出简单while循环时出现问题
- 为什么简单的算术减法在"if"条件下不起作用?
- C++-字符串是否包含一个带有简单循环的单词
- 关于 c++ 函数中指针赋值的简单问题
- 从函数返回任意简单类型的数据
- 如何在没有函数的情况下编写此代码并使C++更简单?
- 有没有办法简单地从 GPU 调用多个 cpp 输出文件?
- 在简单示例中,Python3 + ctypes 回调会导致内存泄漏
- 当简单捕获中的标识符显示为参数的声明符 ID 时,没有编译器诊断
- 如何使用 samtools C API 构建一个简单的主.cpp文件
- CPU 瓶颈;处理具有许多非静态对象的 3D 场景渲染的简单方法