我的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,但这没有什么不同。在Office 365 for Windows中设置此要求是否有任何限制。Im在版本1803中(Build 9126.2275即点即用)。
在Office 365 for Windows中,当我单击“信息”->“属性”->“高级属性”->“自定义”时,甚至可以看到自定义属性。但是,由于某种奇怪的原因,自定义属性没有持久保存在文档中,当我重新打开文档时,它们就丢失了。这看起来像是Office 365 for Windows中的API存在错误。当我们通过代码向集合添加自定义属性时,它不会保存到文档中。即使我们在上下文调用之前包含一个document.save,自定义属性也不会通过代码保存到文档属性集合中。因此,我通过代码将自定义属性插入到文档中,然后单击Word菜单上的保存按钮。但是,这也没有将自定义属性保存到文档中。获取要保存到文档中的自定义属性的唯一方法是在文档中插入一些文本,然后单击菜单上的保存按钮。
发布于 2018-08-29 03:28:41
感谢您报告此问题。我实际上试图在引用的构建上重现它,但我无法做到。实际上我们现在有一个bug (不知道的问题),当你保存自定义文档属性和保存文档时,文档保持脏状态,这意味着用户将被提示再次保存文档(即使在使用UI创建属性和保存文档之后)。
但是没有数据丢失,只是弹出了一个“想要保存更改吗?”如果文档是显式保存的,那么该对话框实际上没有任何意义,但我观察到的是,即使用户选择不在该对话框上保存,属性仍然是持久的。
https://stackoverflow.com/questions/52062904
复制相似问题