Нужно заставить Excel открыть файл с "расширением отличающимся от содержимого" - VB

Узнай цену своей работы

Формулировка задачи:

В процессе разработки приложения мне нужно открыть файл file.xls, полученный с сервера, затем сохранить его в формате xlsx. Сам файл по содержимому является каким-то гибридом html и xml. При открытии штатным способом (двойной щелчок по файлу) Excel выдает запрос "Действительный формат открываемого файла (file.xls) отличается от указываемого его расширением имени файла. Перед открытием данного файла убедитесь, что он не поврежден и получен из надежного источника. Открыть этот файл сейчас?"
Если нажать "Да", файл открывается без проблем, его потом можно saveas xlsx, что и требуется.
В проге пишу:

В момент Workbooks.Add открывается файл в excel в режиме [Только для чтения], и при этом выскакивает таблица "Нет доступа к файлу "file.xls". Возможно, файл поврежден, находится на сервере, который не отвечает на запросы, или доступен только для чтения." Если нажать "Повторить", все то же самое, замкнутый круг, если "Отмена", прога плюется, что метод Add завершен неверно. При этом, если вместо исходного файла попытаться открыть file.xslx с соответствующим содержимым, все происходит нормально. Как заставить Excel открыть файл без лишних вопросов? Заранее спасибо!

Решение задачи: «Нужно заставить Excel открыть файл с "расширением отличающимся от содержимого"»

textual
Листинг программы
With CreateObject("Excel.Application")
  .Visible = True
  .DisplayAlerts = False
  With .Workbooks.Open(Path & "file.xls", , True) 'readonly
    .SaveAs Path & "filenew.xlsx", 51             'Open XML Workbook (.xlsx)
  End With
  .Quit
End With

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4 из 5
Похожие ответы