我正在使用Word JavaScript API开发一个单词加载项。我需要在文档的上下文中存储一些值,因此当我在同一客户端或其他客户端上再次打开文档时,希望从文档中获取该值并执行某些操作。我已尝试使用设置对象,但每个加载项和每个文档都保存了Settings对象,因此其他客户端加载项不提供这些值。请指导我如何存储随文档可用的值。
感谢。
答案 0 :(得分:1)
您想要的是自定义文档属性。
答案 1 :(得分:1)
您还可以存储包含所需数据的XML部分,基本上是存储在文档中的XML文件。查看此示例,了解如何添加和检索xml部件。 https://github.com/OfficeDev/Word-Add-in-Work-with-custom-XML-parts/blob/master/C%23/CustomXMLAppWeb/App/Home/Home.js
顺便说一下,我建议您使用文档属性,它似乎更适合您的需求。确保使用Word中的最新更新!
以下是有关如何创建文档属性的示例(第一个示例是数值,第二个是字符串):
function insertNumericProperty() {
Word.run(function (context) {
context.document.properties.customProperties.add("Numeric Property", 1234);
return context.sync()
.then(function () {
console.log("Property added");
})
.catch(function (e) {
console.log(e.message);
})
})
}
function insertStringProperty() {
Word.run(function (context) {
context.document.properties.customProperties.add("String Property", "Hello World!");
return context.sync()
.then(function () {
console.log("Property added");
})
.catch(function (e) {
console.log(e.message);
})
})
}

以下是有关如何检索它们的代码:
function readCustomDocumentProperties() {
Word.run(function (context) {
var properties = context.document.properties.customProperties;
context.load(properties);
return context.sync()
.then(function () {
for (var i = 0; i < properties.items.length; i++)
console.log("Property Name:" + properties.items[i].key + ";Type=" + properties.items[i].type +"; Property Value=" + properties.items[i].value);
})
.catch(function (e) {
console.log(e.message);
})
})
}
&#13;