Как определить старый формат документа в Word JS API

Я создал надстройку панели задач для слова, которая использует метод 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 ответ

getFileAsync() метод работает для .docx только файл Просто, чтобы определить правильный файл, вы можете просто проверить расширение файла: fname.substr((~-fname.lastIndexOf('.') >>> 0) + 2) где fname здесь имя файла И подскажите ваше сообщение соответственно.

Другие вопросы по тегам