2

根据 API 文档,Office.Settings对象是按加载项和每个文档保存的。也就是说,它们仅对创建它们的加载项可用,并且只能从保存它们的文档中使用。

我对 Office.Settings 界面有点困惑。我在 ScriptLab 插件中创建了一个要点,在其中设置了 2 个设置对象(查询和查询 ID),然后检索它们(将它们记录到控制台)。

要点:https ://gist.github.com/VivianVenter/e5489628384f96f2d3bf9a50aace8728

如果我在 Excel 桌面上运行这个要点,那么我可以创建设置并成功检索它们。如果我保存此工作簿并在 Excel Online 中打开它并再次运行要点,则我无法检索设置,它将为两个设置对象返回 null。

据我所知,桌面版和在线版的 ScriptLab 插件是相同的,我是否遗漏了什么,或者 OfficeJS 的意图是如果在线版本中创建和设置设置不可用/不可见桌面版?

找到设置桌面: 在 Excel 桌面中找到设置对象

在线设置 null: 在 Excel Online 中未找到设置对象

4

2 回答 2

1

Office 加载项的设置基于加载项的 ID 进行存储。并且一旦通过旁加载安装,每次都会为加载项分配一个新的 id。这意味着您在开发时无法在多个平台上同步设置。

将加载项提交到 AppSource 后,来自 AppSource 的静态 id 将分配给加载项,并在从 AppSource 安装加载项时使用。

因此,您应该将加载项提交到 AppSource 以测试/实现此功能。

于 2021-01-14T18:21:34.477 回答
0

该问题是由office-js中的错误引起的,该错误现已在上游修复。

于 2021-10-22T09:23:46.473 回答