我正在编写一个简单的XLL外接程序,并试图使用常规的double* (而不是FP或OPER)获取输入,因为据我所知,Excel应该使用常规的C数据类型。我无法让它工作,经过多次修改,现在它只返回我上一个单元格中的值。我做错什么了?
static AddIn xai_array_try(
"?xll_array_try", XLL_DOUBLE XLL_DOUBLE_,
"ARRAY.TRY", "Array",
"STL", "Test Sum Array."
);
double WINAPI xll_array_try(const double *arr) {
#pragma XLLEXPORT
int i;
double sum = 0;
int size = 3;
for (i = 0; i < size; ++i) {
sum += arr[i];
}
return sum;
}如果我以FP或OPER的身份获得它,那么我是否能够将它传递给一个将输入作为数组的函数?
发布于 2014-09-18 09:47:23
根据这的说法
我的加载项输出是错误的,我的函数输入是错误的。
static AddIn xai_array_try(
"?xll_array_try", XLL_DOUBLE "O%",
"ARRAY.TRY", "Array",
"STL", "Test Sum Array."
);
double WINAPI xll_array_try(int *rows, int *columns, double *arr) {
#pragma XLLEXPORT
int i;
double sum = 0;
int size = *rows * *columns;
for (i = 0; i < size; ++i) {
sum += arr[i];
}
return sum;
}https://stackoverflow.com/questions/25907840
复制相似问题