Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.025 c
6-1134465376
_BasiL_
2005-12-13 12:16
2006.04.09
WebBrowser (SELECT событие OnChange)


15-1142604373
syte_ser78
2006-03-17 17:06
2006.04.09
получение части записи


2-1143180558
Sw
2006-03-24 09:09
2006.04.09
БД InterBase_связи в таблицах


15-1142407750
Alex.
2006-03-15 10:29
2006.04.09
Enterprise Manager для Oracle 10 g


15-1142518445
grisme
2006-03-16 17:14
2006.04.09
Динамический массив




   Наверх