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

Вниз

Открыть документ 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.013 c
15-1133314811
Delphi5.01
2005-11-30 04:40
2006.04.09
Прошу оценить и высказать личное мнение


1-1141665861
Navi
2006-03-06 20:24
2006.04.09
Ошибка при вызове GetActiveOleObject из DLL


4-1137524528
HWND
2006-01-17 22:02
2006.04.09
Как узнать момент копирования текста в буфер обмена ?


15-1142888315
xlsn
2006-03-20 23:58
2006.04.09
WebMoney


4-1137772468
Compton's G
2006-01-20 18:54
2006.04.09
Обои на рабочем столе.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский