使用 Office 加载项将数据保存在 Word 文档中
Persisting data in word document using office add-in
我正在尝试开发允许修改单词内容的单词加载项。其中一项要求是 select 一些文本并标记它:
- 改变它的风格(外观)- 就完成了
- 将那段文本与一些 custom/hidden 数据相关联,例如。身份证。
我想以某种方式将该数据保留在文档中,以便:
- 我的加载项可以在开始时读取文档并构建 'marked' 个元素的列表
- 它应该可以在不同的机器上运行 - 我可以在一台机器上创建文档,稍后在另一台机器上打开,加载项应该能够检索该数据。
到目前为止,我尝试首先保留该数据,将数据作为 HTML 获取数据,然后向标签添加属性,但这没有用。
还尝试添加一些隐藏的 div,但它仅在 word 应用程序生命周期内可用。
最近,发现这个 link: https://github.com/OfficeDev/Excel-Add-in-JavaScript-PersistCustomSettings ,但它仍然允许在 "browser" 范围内保留数据,所以,我假设在其他机器上它不会工作。
我有什么可能性?也许我不应该将其存储在文档中,但如果不存储在何处?
使用 office-js 开发它 - 它应该适用于 Word 2013 和 Word 2016(所以我无法访问特定于 Word 2016 API)。
查看 https://dev.office.com/reference/add-ins/shared/settings
Office JS 设置对象允许您保存随文档持续存在的自定义数据。使用起来非常简单。获取设置是同步的 - 保存设置是异步的。最重要的是,您必须记住在使用 Office.settings.set() 进行更改后调用 Office.settings.saveAsync() 才能真正将更改保存到文档中。
此外,尼克的回答绝对正确,您可以使用 "Binding" 机制。
绑定存储在开箱即用的文档中,因此您以后可以随时访问它们。
一个符合我需要的例子:
- Select 一些文本并单击加载项中的按钮(以调用某些方法)
- 调用addFromSelectionAsync()方法(你可以指定一个id供以后引用)
- 您可以随时使用 getAllAsync() 或 getByIdAsync() 方法访问它。
更多相关信息:https://dev.office.com/docs/add-ins/develop/bind-to-regions-in-a-document-or-spreadsheet
我正在尝试开发允许修改单词内容的单词加载项。其中一项要求是 select 一些文本并标记它:
- 改变它的风格(外观)- 就完成了
- 将那段文本与一些 custom/hidden 数据相关联,例如。身份证。
我想以某种方式将该数据保留在文档中,以便:
- 我的加载项可以在开始时读取文档并构建 'marked' 个元素的列表
- 它应该可以在不同的机器上运行 - 我可以在一台机器上创建文档,稍后在另一台机器上打开,加载项应该能够检索该数据。
到目前为止,我尝试首先保留该数据,将数据作为 HTML 获取数据,然后向标签添加属性,但这没有用。 还尝试添加一些隐藏的 div,但它仅在 word 应用程序生命周期内可用。 最近,发现这个 link: https://github.com/OfficeDev/Excel-Add-in-JavaScript-PersistCustomSettings ,但它仍然允许在 "browser" 范围内保留数据,所以,我假设在其他机器上它不会工作。
我有什么可能性?也许我不应该将其存储在文档中,但如果不存储在何处?
使用 office-js 开发它 - 它应该适用于 Word 2013 和 Word 2016(所以我无法访问特定于 Word 2016 API)。
查看 https://dev.office.com/reference/add-ins/shared/settings
Office JS 设置对象允许您保存随文档持续存在的自定义数据。使用起来非常简单。获取设置是同步的 - 保存设置是异步的。最重要的是,您必须记住在使用 Office.settings.set() 进行更改后调用 Office.settings.saveAsync() 才能真正将更改保存到文档中。
此外,尼克的回答绝对正确,您可以使用 "Binding" 机制。 绑定存储在开箱即用的文档中,因此您以后可以随时访问它们。 一个符合我需要的例子:
- Select 一些文本并单击加载项中的按钮(以调用某些方法)
- 调用addFromSelectionAsync()方法(你可以指定一个id供以后引用)
- 您可以随时使用 getAllAsync() 或 getByIdAsync() 方法访问它。
更多相关信息:https://dev.office.com/docs/add-ins/develop/bind-to-regions-in-a-document-or-spreadsheet