如何在Word js api中检测旧的doc格式

时间:2017-06-08 11:09:26

标签: ms-word office-js apps-for-office

我已经为word创建了一个taskpane addin,它使用Document.getFileAsync方法以压缩格式(docx)获取文档内容。 这适用于.docx文件,但如果使用旧的.doc文件,则无意中失败。

我收到以下错误:

code: 5001
message: "An internal error has occurred."
name: "Internal Error"

在调用getFileAsync之前,有没有办法检测无效格式的文档? 我尝试使用以下代码读取文档属性格式值:

return Word.run(function (context) {
  var properties = context.document.properties;
  context.load(properties, "format");
  return context.sync()
    .then(function () {
      return properties.format;
    });
});

但是对于docx和doc文件,返回的值始终是空字符串。

我希望能够检测旧文件格式,以便向用户显示相应的错误消息。

1 个答案:

答案 0 :(得分:0)

getFileAsync()方法仅适用于.docx文件。只是要检测正确的文件,您只需检查文件的扩展名即可:fname.substr((~-fname.lastIndexOf('.') >>> 0) + 2),其中fname是文件名。并相应地提示您的消息。