![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Открыть документ MS Office [D6, Win95/98, Win2k, WinXP]
JJ © (2006-03-02 18:56:00)Здравствуйте! Есть файлы с произвольным расширением. Файлы формата Word или Excel. Как открыть эти файлы соответствующей программой?
Экспериментатор (2006-03-03 21:23:00) [1]
> Можно ли определив по сигнатуре файл передать его для открытия
> офисному пакету не зная ворд это или эксель?
А сильно ли так важно различать Word это или Excel/
Или может добавить все таки опознавательный символ в имя файла
(для различения формата)
А потом использовать ShellExecute
Как вариант можно написать расширение Explorer'a
использовав IContextMenu
Добавить два пункта в меню
"Открыть как документ Microsoft Word"
"Открыть как документ Microsoft Excel"
Могу в принципе помочь в таком варианте
Сергей М. (2006-03-03 13:38:00) [2]http://msdn.microsoft.com/library/default.asp?url=/library/en-us/stg/stg/extracting_the_code_samples.asp
JJ (2006-03-03 13:32:00) [3]А можно подробнее?
Сергей М. (2006-03-03 11:21:00) [4]Можно.
Но не по сигнатуре, а открыв файл документа как structured storage.
Класс корневого стореджа укажет принадлежность документа.
JJ (2006-03-03 10:43:00) [5]Суть такая. В каталог сетевого диска приходять разные отчеты, которые могут быть вордом, экселем или архивным файлом. Имена файлов произвольные, т.е. по расширению не определишь формат файла. Необходимо написать плагин к фару, который открывал бы эти файлы или запускал соответствующее приложение. Архивные файлы фаром распознаються и с ними проблем нет. Офисные файлы (как ворд так и эксель) имеют общую сигнатуру - первые 4 байта. Различия, по которым можно определить формат файла, наблюдаються в конце. Т.е. для просмотра этого файла фар открывает его, читает первые 128 байт и передает их по списку файловых плагинов. Мой плагин определяет по сигнатуре офисный это файл или нет, и потом открывает его, переходит в конец файла для уточнения формата. Затем запускает соответствуещее приложение, которое перетягивает файл по сети и открывает его. При этом диск сетевой и к нему могут обращаться много пользователей.
Можно ли определив по сигнатуре файл передать его для открытия офисному пакету не зная ворд это или эксель?
JJ (2006-03-03 09:56:00) [6]Да, а как определить word`овский это файл или excel`евский?
Virgo_Style (2006-03-02 20:31:00) [7]JJ © (02.03.06 19:58) [2]
ассоциированную по расширению программу
или указанную с указанным же параметром
JJ (2006-03-02 19:58:00) [8]Проблема в том, например, имя word`овского или excel`евского файла есть oooddmml.NNN, где NNN - любое численное значение, а ShellExecute запускает ассоциированную по расширению программу. Как сделать что-то типа ссылки "Открыть документ Office" в меню пуск-программы, только с передачей имени файла?
Virgo_Style (2006-03-02 19:24:00) [9]ShellExecute