我知道ErrorHAndler.dna example中显示了方法:
private object ErrorHandler(object exceptionObject)
{
ExcelReference caller = (ExcelReference)XlCall.Excel(XlCall.xlfCaller);
// Calling reftext here requires all functions to be marked IsMacroType=true, which is undesirable.
// A better plan would be to build the reference text oneself, using the RowFirst / ColumnFirst info
// Not sure where to find the SheetName then....
string callingName = (string)XlCall.Excel(XlCall.xlfReftext, caller, true);
[...]
}
但有人确定评论中描述的问题可能如何解决?即有没有办法在不设置IsMacroType=true
的情况下执行此操作?
答案 0 :(得分:0)
您不需要IsMacroType=true
来获取调用者(如果没有调用者,示例中的第一行就可以正常工作)。如示例中的注释所示,如果要为范围构建文本描述,则需要自己从ExcelReference
中的行/列信息构建它。您可以通过调用XlCall.Excel(XlCall.xlSheetNm, caller)
来获取工作表名称。