Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.01.27;
Скачать: [xml.tar.bz2];

Вниз

Определить документ MSOffice   Найти похожие ветки 

 
Ega23 ©   (2007-12-25 19:02) [0]

Задача такова:
есть директория с каким-то количеством файлов. Некоторые из них - файлы Excel, некоторые - Word, некоторые, например, PowerPoint.
Есть ли у них какая-то общая сигнатура (или общий интерфейс), по которому их можно однозначно отсортировать?


 
clickmaker ©   (2007-12-25 19:11) [1]

D0 CF 11 E0 A1 B1 1A E1
в начале файла


 
Ega23 ©   (2007-12-25 19:20) [2]


> D0 CF 11 E0 A1 B1 1A E1


Ага. А, собственно, отличить Excel-файл, от документа Word? На уровне сигнатуры можно отличить, или уже пытаться OLE-объект создавать и exception ловить?


 
turbouser ©   (2007-12-25 19:22) [3]


> Ega23 ©   (25.12.07 19:20) [2]

А по расширению почему нельзя?


 
b z   (2007-12-25 19:30) [4]


> > D0 CF 11 E0 A1 B1 1A E1

Для нового офиса (2007) такое не работает, там docx и xlsx = архив, а вот к примеру mpp (Project) по старому.


 
Ega23 ©   (2007-12-25 19:51) [5]


> А по расширению почему нельзя?


Я и для текстового файла могу расширение bmp поставить


 
clickmaker ©   (2007-12-25 19:58) [6]


> [5] Ega23 ©   (25.12.07 19:51)

какое-то мелкое хулиганье у тебя пользователи )


 
turbouser ©   (2007-12-25 20:03) [7]


> Ega23 ©   (25.12.07 19:51) [5]
>
> Я и для текстового файла могу расширение bmp поставить

Можно о форматах например тут http://www.opennet.ru/links/sml/7.shtml посмотреть


> clickmaker ©   (25.12.07 19:58) [6]
>
> какое-то мелкое хулиганье у тебя пользователи )

+1


 
Dimaxx ©   (2007-12-25 21:14) [8]


> D0 CF 11 E0 A1 B1 1A E1
> в начале файла

Такую же сигнатуру имеет графический формат FlashPix (*.fpx) - он никакого отношения к офису не имеет.


 
clickmaker ©   (2007-12-25 21:16) [9]


> [8] Dimaxx ©   (25.12.07 21:14)

я подозреваю, что это общая сигнатура Structured Storage, каковыми являются в том числе офисные файлы


 
Amoeba ©   (2007-12-25 21:58) [10]


> 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.


 
umbra ©   (2007-12-26 10:53) [11]

в "старых" документах оффиса в блоке размером 128 байт по смещению 512  от конца документа есть название приложения оффиса, в котором сделан файл.


 
Ega23 ©   (2007-12-26 11:15) [12]

от конца????


 
umbra ©   (2007-12-26 11:16) [13]

да.


 
Ega23 ©   (2007-12-26 11:24) [14]

Ну вижу в концце секцию "Root Entry". Ну проставлено там WorkBook.
Неубедительно, как-то...


 
umbra ©   (2007-12-26 13:37) [15]

да, это я погорячился, что во всех документах. В ворде есть, да и то не всегда, как оказалось.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.01.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.006 c
1-1193097403
ggg
2007-10-23 03:56
2008.01.27
Проблема с печатью формы


1-1193222862
Eisdolch
2007-10-24 14:47
2008.01.27
Мерцание при перерисовке


15-1198157501
Ins
2007-12-20 16:31
2008.01.27
Delphi Puzzles


15-1198133256
Ega23
2007-12-20 09:47
2008.01.27
Я вернулся.


2-1199193184
Lamer666
2008-01-01 16:13
2008.01.27
Ошибка при после вызова формы из DLL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский