Главная страница
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.027 c
2-1143467244
nyron
2006-03-27 17:47
2006.04.09
регистр


2-1143275526
Alex7
2006-03-25 11:32
2006.04.09
????????????


8-1130620561
MegaGaga
2005-10-30 01:16
2006.04.09
Как использовать функции для рисованмя на Canvas`е на битмапе?


2-1143105021
Andrey_K_M
2006-03-23 12:10
2006.04.09
битовые последовательности


15-1142073530
Nikolay M.
2006-03-11 13:38
2006.04.09
В очередной раз рискну разместить здесь вакансию