在XLL中获取调用者定义的输出数组维度

时间:2014-05-16 20:40:27

标签: c++ arrays excel xll

我正在修改用C ++编写的现有XLL。原始代码始终生成1列数组作为输出。我有兴趣使输出更灵活(比如,作为一排细胞而不是一列细胞)。在Excel中使用此数组函数时,它将作为数组函数输入(即,用户输入它以覆盖单元格数组,而不仅仅是单个单元格。)

我知道如何返回特定维度的数组。但我不知道的是: 在C ++代码中,如何获取用户在调用此函数时定义的单元格数组的尺寸?如果我有这些信息,我可以按行或按列填充,具体取决于用户如何定义他的接收数组。

谢谢!

1 个答案:

答案 0 :(得分:0)

您希望使用xlfCaller回调函数。

XLW文档中有一个例子:

http://sourceforge.net/p/xlw/mailman/xlw-users/?viewmonth=200808

但是你需要添加一个安全检查(如线程注释中所建议的那样),因为你可以从其他地方调用函数调用(例如VBA,函数向导)。