首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Office文档设置

Office文档设置
EN

Stack Overflow用户
提问于 2017-12-11 23:07:23
回答 2查看 383关注 0票数 2

我目前使用以下函数在Office.context.documents.settings中存储一个键值对:

代码语言:javascript
运行
复制
Office.context.document.settings.set(name, value);

一旦存储了键值对,我将重新启动外接程序,并尝试使用以下函数获取值-

代码语言:javascript
运行
复制
Office.context.document.settings.get(name);

但是该函数返回的是null,而不是正确的值。存储在文档设置中的值是否会在应用程序的多个会话中持续存在,还是会在我们关闭应用程序后刷新?

EN

回答 2

Stack Overflow用户

发布于 2017-12-11 23:34:43

你的问题没有太多细节,但在处理设置时有两个常见错误:

无法加载设置

在读取给定设置之前,您需要填充settings对象。这是使用refreshAsync()完成的

代码语言:javascript
运行
复制
Office.context.document.settings.refreshAsync(function(){
    Office.context.document.settings.get(name);
});

侧面加载的外接程序

当您侧面加载外接程序时,Office会生成一个随机ID并将其分配给您的外接程序。如果你移除并重新加载外接程序,它将生成一个新的ID。如果你在两台不同的机器上侧载相同的外接程序,你也会得到两个不同的ID。

这将影响settings的功能,因为在存储设置或从文档中调用设置时,设置是由加载项ID键入的。有关它的工作原理(以及如何绕过它)的详细信息,请参阅Issue with Office.context.document.settings.get

票数 2
EN

Stack Overflow用户

发布于 2017-12-19 05:37:29

未保存设置,因为您未调用saveAsyncset方法仅将设置保存在内存中,而不是保存到文件中。要保存到文件,必须首先调用set,然后调用:

代码语言:javascript
运行
复制
Office.context.document.settings.saveAsync(callback);

然后,当您重新加载外接程序时,您将能够使用get检索设置。下面是saveAsync方法的文档页面:https://dev.office.com/reference/add-ins/shared/settings.saveasync

用于附加模块的-Michael、PM

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47755782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档