Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Office Новый топик    Ответить
 Как узнать версию файла Excel  [new]
Nissa
Member

Откуда: Москва
Сообщений: 115
Есть некий xls файл, возможно созданный в Excel 2007 (print activeWorkbook.fileformat выдает 56). Есть предположение, что изначально файл был создан не Excel, а другим приложением (OpenOffice, некая ERP и т.д.). Как узнать "родителя" этого файла? Или хотя бы в каком формате (типе файла) он был сохранен?
11 мар 11, 18:58    [10357516]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать версию файла Excel  [new]
timtim
Member

Откуда:
Сообщений: 797
Application.Version
?
11 мар 11, 20:30    [10357913]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать версию файла Excel  [new]
timtim
Member

Откуда:
Сообщений: 797
4373075
11 мар 11, 20:39    [10357940]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать версию файла Excel  [new]
Nissa
Member

Откуда: Москва
Сообщений: 115
timtim
4373075


Круто! Спасибо!

Т.е., правильно ли я поняла, что получая значение ActiveWorkbook.FileFormat = -4143 и значение activeWorkbook.fileformat = 56, я могу точно сказать, что данный файл был создан в 2007 офисе и сохранен как Excel 97, 2000, 2002?
11 мар 11, 23:46    [10358771]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать версию файла Excel  [new]
Nissa
Member

Откуда: Москва
Сообщений: 115
Nissa
timtim
4373075


Круто! Спасибо!

Т.е., правильно ли я поняла, что получая значение ActiveWorkbook.FileFormat = -4143 и значение activeWorkbook.fileformat = 56, я могу точно сказать, что данный файл был создан в 2007 офисе и сохранен как Excel 97, 2000, 2002?


Протупила, сори.

С помощью команды ActiveWorkbook.FileFormat я узнаю только версию excel в которой был создан файл, это не поможет мне в определение типа файла...
11 мар 11, 23:54    [10358816]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать версию файла Excel  [new]
Olecha
Guest
Nissa,

These are the main file formats in Excel 2007-2010:

51 = xlOpenXMLWorkbook (without macro's in 2007-2010, xlsx)
52 = xlOpenXMLWorkbookMacroEnabled (with or without macro's in 2007-2010, xlsm)
50 = xlExcel12 (Excel Binary Workbook in 2007-2010 with or without macro's, xlsb)
56 = xlExcel8 (97-2003 format in Excel 2007-2010, xls)
6 май 11, 12:54    [10616290]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать версию файла Excel  [new]
enaktaev
Member

Откуда: Сыктывкар
Сообщений: 1
Спасибо за помощь!
10 май 11, 17:54    [10631121]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Как узнать версию файла Excel  [new]
Flying-home
Member

Откуда: kart.vrostove.net
Сообщений: 15006
Млин. А если файл защищен и у ВБА доступа к воркбуку нет?
3 июн 15, 10:42    [17723930]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать версию файла Excel  [new]
Казанский
Member

Откуда:
Сообщений: 1307
Как именно защищен - пароль на открытие книги?
Конечно, файл надо открыть, чтобы узнать его свойства. А при других способах защиты - защита структуры и окон, защита проекта VBA - метод сработает.
3 июн 15, 21:50    [17727714]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать версию файла Excel  [new]
The_Prist
Member

Откуда: www.excel-vba.ru
Сообщений: 1990
Можно еще топорно взять расширение файла и определить тип:
xls - 97-2003
xlsx - книга Excel без поддержки макросов
xlsm - книга Excel с поддержкой макросов
xlsb - двоичная книга Excel (с поддержкой макросов)
xlam - надстройка Excel
xltx - шаблон Excel
xltm - шаблон Excel с поддержкой макросов
xla - надстройка Excel (97-2003)
xlt - шаблон Excel (97-2003)
3 июн 15, 23:39    [17727888]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Как узнать версию файла Excel  [new]
Barklay
Member

Откуда:
Сообщений: 66
Я проверяю версию Ms Office
Как определить, какая версия Excel использовалась для создания файла .xls?

4373075 - добавил там выжимку из двух предыдущих ссылок:

Для более поздних версий файлов Excel (.xlsx) - тех, что хранятся на самом деле как zip-архив, возможен ещё один способ:

Для начала поменяйте расширение этого файла Excel с .xlsx -> на .zip (или .arj).
Или просто добавьте после .xlsx ещё одно расширение - .zip (легче возвращать обратно после окончания исследования).

Теперь откройте этот файл уже как архив (чем он на самом деле и является) и внутри зайдите в папку docProps.
Внутри неё находится файл app.xml, откройте его и проверьте узел AppVersion (вторая снизу строчка).

Там будет одно из следующих значений, например: 14.030
Это означает, что исследуемый файл Excel был создан в MS Office 2010 (см. ниже справочную таблицу):

Перечень версий:
MS 2007: <AppVersion>12.0300</AppVersion>
MS 2010: <AppVersion>14.0300</AppVersion>
MS 2013: <AppVersion>15.0300</AppVersion>
MS 2016: <AppVersion>16.0300</AppVersion>


Сообщение было отредактировано: 10 май 21, 15:12
10 май 21, 15:17    [22320111]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Office Ответить