用于Excel的JavaScript API中的onSettingsChanged事件的处理程序是否仍然中断?

问题描述 投票:0回答:1

两年前在“如何在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。

如果未修复该错误,是否有解决方法,单击按钮控件可以触发任务窗格中的更新?

office-js
1个回答
0
投票

onSettingsChanged更改文档中的设置时发生。

Settings.set方法仅影响settings属性包的内存中副本。需要调用Settings.saveAsync()才能将设置持久保存在文档中,然后您将看到事件被触发。

© www.soinside.com 2019 - 2024. All rights reserved.