【发布时间】:2022-11-19 01:52:58
【问题描述】:
使用以下代码识别工作表重命名事件并在重命名后执行活动。同样在 Chrome/edge 浏览器上的 excel 在线版本(在线 office365)中工作正常,但在桌面版 excel(Microsoft 365 MSO (16.0.14326.21170) - 32 位)上不起作用。
let eventResult;
const onSheetRename = callBack => {
Office.onReady(info => {
// Office.addin.setStartupBehavior(Office.StartupBehavior.load);
Excel.run(context => {
const sheets = context.workbook.worksheets;
eventResult = sheets.onNameChanged.add(callBack);
sessionStorage.setItem('eventResult', eventResult);
return context.sync();
});
});
};
const removeEvent = () => {
Office.onReady(info => {
Excel.run(eventResult && eventResult.context, context => {
sessionStorage.setItem('isRenameSheet', false);
if (eventResult) {
eventResult.remove();
}
return context.sync().then(() => {
eventResult = null;
sessionStorage.setItem('eventResult', eventResult);
});
});
});
};
跟随this documentation link 实现相同。
可以在控制台中看到此错误:未捕获(承诺)RichApi.Error:您无法执行请求的操作。在新的 n (excel-win32-16.01.js:25:241192) 在 i.processRequestExecutorResponseMessage (excel-win32-16.01.js:25:305358) 在 excel-win32-16.01.js:25:303421
有人可以让我知道吗“onNameChanged”活动是否支持桌面excel及其发布使用? 如果我遗漏了什么,请帮忙。 提前致谢!
【问题讨论】:
标签: excel office-js excel-addins