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