我正在使用 Excel-DNA 在 Excel 和 NetOffice 中创建 UDF,以实现与版本无关的自动化调用。在宏类型函数中,我可以使用以下命令从单元格中获取公式:
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 的上下文中)?