问题描述
当我们在用户之间共享工作簿时,我们遇到了有关保存设置的问题。当我们共享工作簿时,我们有时会注意到,当不同用户使用相同版本的加载项打开工作簿时,保存的设置会丢失。我们了解到,使用共享文件夹旁加载加载项时可能会发生这种情况。但是,当我们使用 AppSource 时,我们观察到当用户从从应用程序内安装的加载项(在 Excel 中获取加载项选项)创建工作簿并与安装加载项的人共享时,设置会丢失办公商店(网络)。
谁能解释一下我们使用 Excel API 保存和读取设置时的依赖关系是什么?
这是我们保存设置的方式:
saveData(data) {
try {
Office.context.document.settings.set("presets",JSON.stringify(data));
Office.context.document.settings.saveAsync();
} catch (e) {
console.error(e);
}
}
这是我们读取设置的方式:
getSavedData() {
return JSON.parse(Office.context.document.settings.get('presets'));
}
解决方法
感谢您的提问,建议使用refreshAsync
方法读取设置,您可以试试这个:
Office.context.document.settings.refreshAsync((result: Office.AsyncResult<Office.Settings>) => {
savedData = result.value.get('presets');
});
谢谢,Office 平台团队。