Ms word 使用office加载项在word文档中持久化数据

Ms word 使用office加载项在word文档中持久化数据,ms-word,office-js,office-addins,Ms Word,Office Js,Office Addins,我正在尝试开发word插件,它允许修改word内容。要求之一是选择一些文本并标记: 改变它的样式(外观)-这就完成了 将该文本与一些自定义/隐藏数据关联,例如ID 我希望以某种方式在文档中保留该数据,以便: 我的外接程序可以从一开始就读取文档,并生成“已标记”元素的列表 它应该在不同的机器上工作——我可以在一台机器上创建一个文档,稍后在另一台机器上打开,外接程序应该能够检索该数据 到目前为止,我尝试先将数据持久化,以HTML的形式获取数据,并将属性添加到标记中,但没有成功。 还尝试添加一

我正在尝试开发word插件,它允许修改word内容。要求之一是选择一些文本并标记:

  • 改变它的样式(外观)-这就完成了
  • 将该文本与一些自定义/隐藏数据关联,例如ID
我希望以某种方式在文档中保留该数据,以便:

  • 我的外接程序可以从一开始就读取文档,并生成“已标记”元素的列表
  • 它应该在不同的机器上工作——我可以在一台机器上创建一个文档,稍后在另一台机器上打开,外接程序应该能够检索该数据
到目前为止,我尝试先将数据持久化,以HTML的形式获取数据,并将属性添加到标记中,但没有成功。 还尝试添加一些隐藏的div,但它仅在word应用生命周期内可用。 最近,我发现了这个链接:,但它仍然允许在“浏览器”的范围内保存数据,所以,我假设在其他机器上它不会工作

我的可能性是什么?也许我不应该将其存储在文档中,但如果不是,应该存储在哪里

使用office js开发它-它应该适用于Word 2013和Word 2016(因此我没有访问Word 2016特定API的权限)。

查看


Office JS设置对象允许您保存保存在文档中的自定义数据。使用起来非常简单。获取设置是同步的-保存设置是异步的。最重要的是,您必须记住在使用Office.settings.set()进行更改后调用Office.settings.saveAsync(),以便实际保存对文档的更改。

此外,对于Nick绝对正确的回答,您可以使用“绑定”机制。 绑定存储在开箱即用的文档中,以便您以后可以随时访问这些绑定。 一个符合我需要的例子:

  • 选择一些文本并单击外接程序中的按钮(以调用某些方法)
  • 调用addFromSelectionAsync()方法(您可以为它指定一个id,以便以后引用)
  • 随时使用getAllAsync()或getByIdAsync()方法访问它

更多信息:

谢谢。我读到一些东西,我以为“设置”在Office js中不可用,但事实上,它只在Microsoft Project任务窗格加载项的范围内。