【发布时间】:2019-08-28 18:59:40
【问题描述】:
我正在尝试使用 Office Javascript API 编写 Excel 插件。我尝试使用“设置”界面保留设置。根据文档,当我想将 saveAsync 保存到桌面时,我会调用它。我第一次调用 saveAsync 函数时,它似乎工作正常。但在随后的通话中,我总是收到错误“内部错误”。有没有办法解决这个问题?
这是我保存和持久化数据的帮助类:
const StorageHelper = {};
StorageHelper.Persist = function (callback) {
return new OfficeExtension.Promise(function (resolve, reject) {
Office.context.document.settings.saveAsync(function (asyncResult) {
if (asyncResult.status == Office.AsyncResultStatus.Failed) {
reject("Failed to save data, please contact customer support: " + asyncResult.error.message);
} else {
Office.context.document.settings.refreshAsync(function (asyncResult2) {
if (callback) callback();
resolve();
});
}
});
});
};
StorageHelper.SaveSettings = function (key, value) {
Office.context.document.settings.set(key, value);
};
然后我尝试这样称呼它:
let PassDataType = $("#pass-data-type-select").val();
StorageHelper.SaveSettings("PassDataType", PassDataType);
return StorageHelper.Persist()
.then(function () {
...
}).catch(function (error) {
StatusBarHelper.SetMessage(error);
});
我多次调用此代码。我在随后的每次通话中都会收到此错误。不过第一次效果很好。
{
"status":"failed",
"error":{
"name":"Internal Error",
"message":"An internal error has occurred.",
"code":5001
}
}
这可能是什么原因造成的?
【问题讨论】:
标签: office-js