2

我为 word 创建了一个任务窗格插件,它使用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 文件,返回的值始终是一个空字符串。

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

4

1 回答 1

0

getFileAsync()方法.docx仅适用于文件。只是为了检测正确的文件,您可以简单地检查文件的扩展名:fname.substr((~-fname.lastIndexOf('.') >>> 0) + 2)这里fname的文件名在哪里。并相应地提示您的消息。

于 2018-06-21T07:24:03.513 回答