![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Определить документ MSOffice [D7]
Ega23 © (2007-12-25 19:02:00)Задача такова:
есть директория с каким-то количеством файлов. Некоторые из них - файлы Excel, некоторые - Word, некоторые, например, PowerPoint.
Есть ли у них какая-то общая сигнатура (или общий интерфейс), по которому их можно однозначно отсортировать?
umbra (2007-12-26 13:37:00) [1]да, это я погорячился, что во всех документах. В ворде есть, да и то не всегда, как оказалось.
Ega23 (2007-12-26 11:24:00) [2]Ну вижу в концце секцию "Root Entry". Ну проставлено там WorkBook.
Неубедительно, как-то...
umbra (2007-12-26 11:16:00) [3]да.
Ega23 (2007-12-26 11:15:00) [4]от конца????
umbra (2007-12-26 10:53:00) [5]в "старых" документах оффиса в блоке размером 128 байт по смещению 512 от конца документа есть название приложения оффиса, в котором сделан файл.
Amoeba (2007-12-25 21:58:00) [6]
> clickmaker © (25.12.07 21:16) [9]
>
>
> > [8] Dimaxx © (25.12.07 21:14)
>
> я подозреваю, что это общая сигнатура Structured Storage,
> каковыми являются в том числе офисные файлы
Это бесспорный факт. У меня как раз есть проект с использованием структурированных хранилищ, и все соответствующие файлы действительно имеют в начале эту 8-байтовую последовательность: D0 CF 11 E0 A1 B1 1A E1.
clickmaker (2007-12-25 21:16:00) [7]
> [8] Dimaxx © (25.12.07 21:14)
я подозреваю, что это общая сигнатура Structured Storage, каковыми являются в том числе офисные файлы
Dimaxx (2007-12-25 21:14:00) [8]
> D0 CF 11 E0 A1 B1 1A E1
> в начале файла
Такую же сигнатуру имеет графический формат FlashPix (*.fpx) - он никакого отношения к офису не имеет.
turbouser (2007-12-25 20:03:00) [9]
> Ega23 © (25.12.07 19:51) [5]
>
> Я и для текстового файла могу расширение bmp поставить
Можно о форматах например тут http://www.opennet.ru/links/sml/7.shtmlпосмотреть
> clickmaker © (25.12.07 19:58) [6]
>
> какое-то мелкое хулиганье у тебя пользователи )
+1
clickmaker (2007-12-25 19:58:00) [10]
> [5] Ega23 © (25.12.07 19:51)
какое-то мелкое хулиганье у тебя пользователи )
Ega23 (2007-12-25 19:51:00) [11]
> А по расширению почему нельзя?
Я и для текстового файла могу расширение bmp поставить
b z (2007-12-25 19:30:00) [12]
> > D0 CF 11 E0 A1 B1 1A E1
Для нового офиса (2007) такое не работает, там docx и xlsx = архив, а вот к примеру mpp (Project) по старому.
turbouser (2007-12-25 19:22:00) [13]
> Ega23 © (25.12.07 19:20) [2]
А по расширению почему нельзя?
Ega23 (2007-12-25 19:20:00) [14]
> D0 CF 11 E0 A1 B1 1A E1
Ага. А, собственно, отличить Excel-файл, от документа Word? На уровне сигнатуры можно отличить, или уже пытаться OLE-объект создавать и exception ловить?
clickmaker (2007-12-25 19:11:00) [15]D0 CF 11 E0 A1 B1 1A E1
в начале файла