“拒绝访问” Excel 2019 桌面上的 Worksheet
“AccessDenied”Excel 2019桌面上的WorksheetCollection.onActivated事件出错问题
我的客户使用“WorksheetCollection.onActivated”;用户更改工作表时更新信息的事件。他们发现在某些版本的 Office 上,加载项收到错误“AccessDenied”。尝试设置此事件时。
async function registerOnActivateHandler() {
await Excel.run(async (context) => {
let sheets = context.workbook.worksheets;
sheets.onActivated.add(onActivate);
await context.sync();
console.log("A handler has been registered for the OnActivate event.");
});
}
该代码在 Excel Online 和 Mac 上运行良好,客户报告“拒绝访问”。 Excel 2019 桌面版 16.0.10356.2006 上的问题
有趣的是:
onAdded/onDeactivated 事件在 Excel 2019 桌面上运行良好
错误截图:
有人对这个问题有任何见解吗?
回答
这是一个已知问题,正在推出解决方案。
作为临时解决方案,请在同一批工作表中添加以下代码。onActivated.add(onActivate) 解决问题。
// Call Write Operation APIs, bellow two line code equal to no-op.
let eventobj = sheets.onDeactivated.add(onDeactivate);
eventobj.remove();
例如,您的代码需要更新为
async function registerOnActivateHandler() {
await Excel.run(async (context) => {
let sheets = context.workbook.worksheets;
sheets.onActivated.add(onActivate);
// Call Write Operation APIs, bellow two line code equal to no-op.
let eventobj = sheets.onDeactivated.add(onDeactivate);
eventobj.remove();
await context.sync();
console.log("A handler has been registered for the OnActivate event.");
});
}
页:
[1]