我有一个标签面板应用程序,需要访问当前MS Office文档的自定义属性,该文档可以是Word或Excel。
在Office JavaScript API中似乎没有这样做的内置方式,但在Word中,我使用Office.context.document. getfileasync()方法来返回整个文件。然后我可以解压缩它,读入custom. XML文件,并在XML中导航以获得自定义属性。
但是,Office.context.document.getFileAsync()在Excel中不可用。是否有其他方法读取自定义属性?
我知道这个问题很老了,但是因为我自己在寻找答案的时候偶然发现了它,所以我还是要回答它。下面的JavaScript函数将在当前文档的末尾打印所有自定义文档属性。它需要Office API的1.3版本(参见https://dev.office.com/reference/add-ins/word/documentproperties)。
function getProperties() {
Word.run(function (context) {
var body=context.document.body;
var customDocProps = context.document.properties.customProperties;
context.load(customDocProps);
return context.sync().then(function () {
for (var i = 0; i < customDocProps.items.length; i++) {
body.insertText(customDocProps.items[i].key, Word.InsertLocation.end);
body.insertText('n', Word.InsertLocation.end);
body.insertText(customDocProps.items[i].value, Word.InsertLocation.end);
body.insertText('n', Word.InsertLocation.end);
}
})
})
}