Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Вопрос-Ответ Новый топик    Ответить
 Как по XLS-файлу узнать в какой версии MS Excel он сохранён?  [new]
yon_brover
Member

Откуда: Москва
Сообщений: 397
Это возможно?
3 июл 07, 11:48    [4342721]     Ответить | Цитировать Сообщить модератору
 Re: Как по XLS-файлу узнать в какой версии MS Excel он сохранён?  [new]
yon_brover
Member

Откуда: Москва
Сообщений: 397
up
6 июл 07, 16:55    [4361872]     Ответить | Цитировать Сообщить модератору
 Re: Как по XLS-файлу узнать в какой версии MS Excel он сохранён?  [new]
frostyland
Member

Откуда:
Сообщений: 10
Дж.Уокенбах Проф.программирование на VBA в Excel 2002"

К сожалению, нет такого способа, который позволяет точно определить, в какой версии Excel
создан тот или иной файл XLS. Если у в;эс установлена одна из ранних версий Excel, то
при попытке открыть в ней файл XLS, созданный в более поздней версии, вы, скорее всего,
получите сообщение об ошибке или рабочую область, заполненную бессмысленным соче-
таниям символов. Но если файл все же успешно открыт, то с помощью простого оператора
VBA можно легко определить версию Excel, 13 которой он создавался.
Откройте рабочую книгу и проверьте, что она осталась активной. Для запуска Visual Basic
Editor (редактор Visual Basic) нажмите комбинацию клавиш <:Alt+F11>, а затем, чтобы акти-
визировать окно Immediate,— <:Ctrl+G>. Перед тем, как нажать <Enter>, введите следующий
оператор VBA:
Print ActiveWorkbook.FileFormat
В окне Immediate будет отображено значение, которое соответствует версии активной рабо-
чей книги. Вы увидите одно из значений, перечисленных в следующей таблице.
Значение Версия Excel
16 Excel 2
29 Excel 3
33 Excel 4
39 Excel 5. 95
-4143 Excel 97, 2000, 2002
10 июл 07, 14:43    [4373075]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Как по XLS-файлу узнать в какой версии MS Excel он сохранён?  [new]
Barklay
Member

Откуда:
Сообщений: 66
Для более поздних версий файлов 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:06    [22320110]     Ответить | Цитировать Сообщить модератору
 Re: Как по XLS-файлу узнать в какой версии MS Excel он сохранён?  [new]
MX-9
Member

Откуда: LIBAVA
Сообщений: 523
Barklay,

+++
15 май 21, 09:47    [22322488]     Ответить | Цитировать Сообщить модератору
 Re: Как по XLS-файлу узнать в какой версии MS Excel он сохранён?  [new]
Barklay
Member

Откуда:
Сообщений: 66
MX-9, Спасибо за столь лестную оценку!

Тогда в качестве взаимной благодарности ещё один лайф-хак:

Если у вас на компьютере стоит архиватор 7z (а если нет - его можно бесплатно поставить),
то всё ещё проще, нет нужды даже переименовывать (или добавлять), а потом возвращать расширение,

достаточно прямо в проводнике Windows, стоя на исследуемом .xlsx-файле:
  • нажать ПРАВУЮ кнопку мыши и выбрать в контекстном меню 7-Zip
  • и в следующем подменю выбрать прямо первую строку: Открыть архив
Далее всё как прежде: в папке docProps открыть файл app.xml

Если же из Total Commander'а, то там тоже, стоя на исследуемом файле, нажать ПКМ и держать(!),
пока бегунок закончит секундную паузу и будет инициализировано локальное меню Проводника Windows.

Далее, всё как выше...
26 май 21, 14:12    [22327472]     Ответить | Цитировать Сообщить модератору
Все форумы / Вопрос-Ответ Ответить