Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.09;
Скачать: CL | DM;

Вниз

Открыть документ MS Office   Найти похожие ветки 

 
JJ ©   (2006-03-02 18:56) [0]

Здравствуйте! Есть файлы с произвольным расширением. Файлы формата Word или Excel. Как открыть эти файлы соответствующей программой?


 
Virgo_Style ©   (2006-03-02 19:24) [1]

ShellExecute


 
JJ ©   (2006-03-02 19:58) [2]

Проблема в том, например, имя word`овского или excel`евского файла есть oooddmml.NNN, где NNN - любое численное значение, а ShellExecute запускает ассоциированную по расширению программу. Как сделать что-то типа ссылки "Открыть документ Office" в меню пуск-программы, только с передачей имени файла?


 
Virgo_Style ©   (2006-03-02 20:31) [3]

JJ ©   (02.03.06 19:58) [2]
ассоциированную по расширению программу


или указанную с указанным же параметром


 
JJ ©   (2006-03-03 09:56) [4]

Да, а как определить word`овский это файл или excel`евский?


 
JJ ©   (2006-03-03 10:43) [5]

Суть такая. В каталог сетевого диска приходять разные отчеты, которые могут быть вордом, экселем или архивным файлом. Имена файлов произвольные, т.е. по расширению не определишь формат файла. Необходимо написать плагин к фару, который открывал бы эти файлы или запускал соответствующее приложение. Архивные файлы фаром распознаються и с ними проблем нет. Офисные файлы (как ворд так и эксель) имеют общую сигнатуру - первые 4 байта. Различия, по которым можно определить формат файла, наблюдаються в конце. Т.е. для просмотра этого файла фар открывает его, читает первые 128 байт и передает их по списку файловых плагинов. Мой плагин определяет по сигнатуре офисный это файл или нет, и потом открывает его, переходит в конец файла для уточнения формата. Затем запускает соответствуещее приложение, которое перетягивает файл по сети и открывает его. При этом диск сетевой и к нему могут обращаться много пользователей.

Можно ли определив по сигнатуре файл передать его для открытия офисному пакету не зная ворд это или эксель?


 
Сергей М. ©   (2006-03-03 11:21) [6]

Можно.
Но не по сигнатуре, а открыв файл документа как structured storage.
Класс корневого стореджа укажет принадлежность документа.


 
JJ ©   (2006-03-03 13:32) [7]

А можно подробнее?


 
Сергей М. ©   (2006-03-03 13:38) [8]

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/stg/stg/extracting_the_code_samples.asp


 
Экспериментатор   (2006-03-03 21:23) [9]


> Можно ли определив по сигнатуре файл передать его для открытия
> офисному пакету не зная ворд это или эксель?

А сильно ли так важно различать Word это или Excel/
Или может добавить все таки опознавательный символ в имя файла
(для различения формата)
А потом использовать ShellExecute
Как вариант можно написать расширение Explorer"a
использовав IContextMenu
Добавить два пункта в меню
"Открыть как документ Microsoft Word"
"Открыть как документ Microsoft Excel"
Могу в принципе помочь в таком варианте



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

Текущий архив: 2006.04.09;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.035 c
15-1142584181
Volf_555
2006-03-17 11:29
2006.04.09
Какую посоветуете программу для написания программ для мобильника


15-1142937681
__DATA__
2006-03-21 13:41
2006.04.09
Изменить максимальное число подключений к серверу win2k3


1-1140539314
Валерий
2006-02-21 19:28
2006.04.09
Из CBuilder в Delphi


15-1142951445
Volf_555
2006-03-21 17:30
2006.04.09
Оцените программу!


2-1143016942
mrAndersen
2006-03-22 11:42
2006.04.09
Image