在 Office 加载项中启用扩展错误日志记录(查看有关错误对象的完整语句)
Posted
技术标签:
【中文标题】在 Office 加载项中启用扩展错误日志记录(查看有关错误对象的完整语句)【英文标题】:Enabling extended error logging in Office Add-ins (to see full statements on error object) 【发布时间】:2018-12-01 08:55:03 【问题描述】:我正在开发插件,但遇到了错误。 一堆东西打印到控制台,其中一些是:
这是什么意思?如何启用该设置?
【问题讨论】:
【参考方案1】:好问题!
想象一下你有这样的代码:
async function run()
await Excel.run(async (context) =>
const range = context.workbook.getSelectedRange();
range.getRow(1000).format.fill.color = "yellow";
await context.sync();
);
并假设您的选择只是一个很小的范围,这样getRow(1000)
将导致异常。
如果你今天运行它,你会得到一些信息:
但请注意,您没有得到完整的语句集,只有“周围”的语句(如果您有 一堆 代码,可能还不够)。而且,有些信息是“……”为您提供的。
现在,将以下行粘贴到您的代码上方:
OfficeExtension.config.extendedErrorLogging = true;
一旦你有了它,你将获得完整的错误日志记录(这对于调试非常有用,但请不要在生产应用程序中这样做——你不想支付性能成本,更重要的是,你不想记录和存储敏感数据,这些数据很可能出现在完整语句的日志中(例如,包含客户信息的二维值数组......)
来自Office d.ts file on DefinitelyTyped:
/** Configuration */
var config:
/**
* Determines whether to log additional error information upon failure.
*
* When this property is set to true, the error object will include a "debugInfo.fullStatements" property that lists all statements in the batch request, including all statements that precede and follow the point of failure.
*
* Setting this property to true will negatively impact performance and will log all statements in the batch request, including any statements that may contain potentially-sensitive data.
* It is recommended that you only set this property to true during debugging and that you never log the value of error.debugInfo.fullStatements to an external database or analytics service.
*/
extendedErrorLogging: boolean;
;
【讨论】:
谢谢!我通过注释掉与 office-js 相关的行成功地解决了问题,并查看问题是否不断发生,最终导致少数几行确实重要,并且我找到了有问题的行。原来工作表名称中不能包含某些字符。 好吧,事实证明,问题不一定是字符,而是字符总数。 很高兴它有帮助!是的,我相信两者都是正确的——如果你在 UI 中尝试,你会发现 Excel 都不允许某些字符,并且有长度限制(31 或 32 个字符,IIRC)。 在我的 Word 加载项中我得到:OfficeExtension 在我这样做时没有定义 @NathanB,它应该可以工作,前提是您在“Office.onReady()”触发后的某个时间进行此调用。以上是关于在 Office 加载项中启用扩展错误日志记录(查看有关错误对象的完整语句)的主要内容,如果未能解决你的问题,请参考以下文章
OA系统无法打开PDF文件,设置加载项发现Office Document Cache Handler无法启用,怎么设置?
如何使用office API在Outlook Web加载项中显示菜单控件项目的纯文本菜单?
(转)发布网站的时候,遇到 未能加载文件或程序集 Microsoft.Office.Tools.Excel, Version=8