Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Нужно заставить Excel открыть файл с "расширением отличающимся от содержимого" / 6 сообщений из 6, страница 1 из 1
21.03.2014, 18:07
    #38593199
Aztech
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно заставить Excel открыть файл с "расширением отличающимся от содержимого"
В процессе разработки приложения мне нужно открыть файл file.xls, полученный с сервера, затем сохранить его в формате xlsx. Сам файл по содержимому является каким-то гибридом html и xml. При открытии штатным способом (двойной щелчок по файлу) Excel выдает запрос "Действительный формат открываемого файла (file.xls) отличается от указываемого его расширением имени файла. Перед открытием данного файла убедитесь, что он не поврежден и получен из надежного источника. Открыть этот файл сейчас?"
Если нажать "Да", файл открывается без проблем, его потом можно saveas xlsx, что и требуется.
В проге пишу:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
        Dim appe As Object
        appe = CreateObject("Excel.Application")
        appe.Visible = True
        appe.Workbooks.Add(path & "file.xls")
        appe.Workbooks(1).SaveAs(path & "filenew.xlsx")
        appe.Workbooks(1).Close()
        appe.Quit()


В момент Workbooks.Add открывается файл в excel в режиме [Только для чтения], и при этом выскакивает таблица "Нет доступа к файлу "file.xls". Возможно, файл поврежден, находится на сервере, который не отвечает на запросы, или доступен только для чтения." Если нажать "Повторить", все то же самое, замкнутый круг, если "Отмена", прога плюется, что метод Add завершен неверно. При этом, если вместо исходного файла попытаться открыть file.xslx с соответствующим содержимым, все происходит нормально. Как заставить Excel открыть файл без лишних вопросов? Заранее спасибо!
...
Рейтинг: 0 / 0
21.03.2014, 18:26
    #38593217
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно заставить Excel открыть файл с "расширением отличающимся от содержимого"
Aztechкаким-то гибридом html и xml.просто переименуйте file.xls в file.xlsx
...
Рейтинг: 0 / 0
21.03.2014, 18:59
    #38593244
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно заставить Excel открыть файл с "расширением отличающимся от содержимого"
Workbooks.Add - это создание новой книги (из шаблона, если указан путь). Попробуйте так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
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
...
Рейтинг: 0 / 0
21.03.2014, 19:25
    #38593261
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно заставить Excel открыть файл с "расширением отличающимся от содержимого"
КазанскийWorkbooks.Add - это создание новой книги (из шаблона, если указан путь). Попробуйте так:по идее, в данном случае это почти ничего не меняет.
...
Рейтинг: 0 / 0
21.03.2014, 21:06
    #38593335
Aztech
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно заставить Excel открыть файл с "расширением отличающимся от содержимого"
Shocker.ProAztechкаким-то гибридом html и xml.просто переименуйте file.xls в file.xlsx
А смысл? Исходный файл НЕ xlsx по структуре, если вы об этом... Мне нужен xlsx для импорта с соответствующим форматом и структурой.
...
Рейтинг: 0 / 0
21.03.2014, 21:14
    #38593341
Aztech
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужно заставить Excel открыть файл с "расширением отличающимся от содержимого"
КазанскийWorkbooks.Add - это создание новой книги (из шаблона, если указан путь). Попробуйте так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
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


А вот это реально работает (ну правда чуть под себя переделал без with)! Спасибо!
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Нужно заставить Excel открыть файл с "расширением отличающимся от содержимого" / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]