检查macros样式的Excel UDF中的数组公式

我正在使用Excel-DNA在Excel和NetOffice中创buildUDF以进行与版本无关的自动化调用。 在一个macrostypes的函数中,我可以使用以下命令从单元格中获取公式:

ExcelReference cellRef; // of course in reality this is assigned var formula = (string)this.excelCall(XlCall.xlfGetFormula, cellRef); 

此外,虽然,我想知道这是否是数组公式的一部分,如果是的话。 使用Excel自动化,我可以使用类似于:

 Range("A1").HasArray Range("A1").CurrentArray.Address 

但是,Microsoft拒绝在UDF调用中使用自动化: https : //support.microsoft.com/en-us/kb/301443

那么,有没有办法通过C API来获取HasArray和CurrentArray属性,或者有没有人知道它是否可以(在UDF声明为macrostypes的上下文中)使用自动化?

具有信息type_num 49的GET.CELL信息函数将返回单元是否是数组的一部分。 从您的Excel-DNA(macros观型)function:

 bool isArray = (bool)XlCall.Excel(XlCall.xlfGetCell, 49, cellRef);