我的Office js Word加载项代码将自定义属性保存到文档customproperty集合。保存代码如下
Word.run(function (context) {
//method accepts property name plus value
context.document.properties.customProperties.add(propertyname, value);
return context.sync()
.then(function () {
console.log("Property saved");
})
.catch (function (e) {
console.log("Error occured inserting property " + e.message);
});
});
当我使用Office 365 for Windows(Word桌面)创建文档并调用我的外接程序时,属性没有保存到自定义属性集合中。但是,使用Office Online创建文档时会保存属性。我修改了代码以包含document.save,但没有区别。在Windows的Office 365中设置的此要求是否有任何限制。我在版本1803(内部版本9126.2275,即点即用)上运行。
在Office 365 for Windows中,当我单击“信息”->“属性”->“高级属性”->“自定义”时,甚至可以看到自定义属性。但是,由于某些奇怪的原因,自定义属性没有保留在文档中,而当我重新打开文档时,它们丢失了。这看起来像Office 365 for Windows中的API的错误。当我们通过代码向集合中添加自定义属性时,该属性不会保存到文档中。即使我们在上下文调用之前包含document.save,自定义属性也不会通过代码保存到文档属性集合中。因此,我通过代码将自定义属性插入到文档中,然后单击Word菜单上的“保存”按钮。但是,这也没有将自定义属性保存到文档中。我可以将自定义属性保存到文档中的唯一方法是在文档中插入一些文本,然后单击菜单上的保存按钮。
答案 0 :(得分:0)
感谢您报告此问题。我实际上试图在引用的版本上对其进行复制,但我不能。实际上,我们现在存在一个错误(已知问题),当您保存自定义文档属性并保存文档时,该文档会保持脏状态,这意味着将提示用户再次保存该文档(即使在创建属性后)并使用用户界面保存文档)。
虽然没有数据丢失,只是弹出“是否要保存更改?”对话框在给定文档已明确保存的情况下确实没有任何意义,但我观察到的是,即使用户选择不保存该对话框,该属性仍然会保留。