两年前在“如何在Office Web加载项中为SettingsChanged事件注册处理程序”问题中指出的错误是否已修复?
如果已解决,在我的外接程序工作中我做错了什么?我的加载项中的两个按钮控件通过[
等语句进行创建/更改设置 Office.context.document.settings.set(key, value);
以及始终显示的任务窗格的代码,成功读取了诸如此类的语句中的这些设置
if (Office.context.document.settings.get(key) === value) { }
但是我还没有找到一种方法,只要更改设置,就可以触发该代码。我使用以下代码添加了事件处理程序,该代码成功执行
await Excel.run(async context => {
context.workbook.settings.onSettingsChanged.add(this.handleSettingsChange);
await context.sync();
});
但是从未执行handleSettingsChange。
如果未修复该错误,是否有解决方法,单击按钮控件可以触发任务窗格中的更新?
onSettingsChanged更改文档中的设置时发生。
Settings.set方法仅影响settings属性包的内存中副本。需要调用Settings.saveAsync()才能将设置持久保存在文档中,然后您将看到事件被触发。