我已经使用Office.js创建了一个Excel Web加载项,并通过侧载将其提供给我们公司的员工以供内部使用。
onSettingsChanged事件附加到excel应用程序的第一个工作表。在调试模式下,事件始终稳定触发。在发行版本中,总是会有一些延迟。但是,这并没有进一步干扰外接程序的使用。 但是最近,事件仅在前1-3次触发,然后什么也没有发生。
如果已选择一个单元格,则必须使用鼠标导航器将鼠标悬停在加载项上才能执行该事件。因此,该事件仍然绑定并存在,但不再立即执行。
我已经对所有其他事件进行了测试,并且对所有这些事件都有相同的问题。 https://github.com/OfficeDev/office-js-docs-pr/blob/master/docs/excel/excel-add-ins-events.md
注册功能:
async function registerSelectionChangedHandler() {
await Excel.run(async (context) => {
let sheet = context.workbook.worksheets.getFirst();
sheet.onSelectionChanged.add(onSelectionChange);
sheet.onChanged.add(onChanged);
sheet.onActivated.add(onActivated);
sheet.onDeactivated.add(onDeactivated)
await context.sync();
});
}
执行功能:
async function onChanged(event) {
errorHandler(new Error("onChanged " + event.address));
}
async function onActivated(event) {
errorHandler(new Error("onActivated"));
}
async function onDeactivated(event) {
errorHandler(new Error("onDeactivated"));
}
async function onSelectionChange(event) {
await Excel.run(async (context) => {
let sourceRange = context.workbook.getSelectedRange();
sourceRange.values = [["Hello World"]];
sourceRange.format.fill.color = "3498DB";
sourceRange.format.font.bold = true;
await context.sync();
});
}
我希望只要工作表存在,事件总是会被触发。
这是侧面加载的问题吗?我必须在外接程序或Office中进行设置或配置吗?
我创建本地测试的步骤:
答案 0 :(得分:0)