Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

OLE или Word + TWebBrowser [D6]


Shirson ©   (2003-04-22 13:29:00) 

Ситуация: Есть TWebBrowser, в который загружен документ .doc
Документ этот отображается явно не без помощи MSWord. Проблема в получении доступа к этому самому Ворду. Мне нужно получить полный доступ к командам ворда, для манипуляций с документом в TWebBrowser, как при MSWord:=CreateOleObject("Word.application");
Как это организовать?
Попытался достучаться через интерфейсы (правда в них я полный дуб). Зная, что CreateOleObject, как и GetActiveOleObject на выходе дают IDispatch, попытался переменной MSWord (и типа Variant, и типа OleVariant пробовал), тупо присвоить конструкцию (WebBrowser1.document as IDispatch). Присваивается, но команд ворда не воспринимает - говорит что таких методов у объекта автоматизации нет.
Пробовал WebBrowser1.Application (с тем же результатом) и WebBrowser1.Parent (Аccess violation).
Как тут быть?


Shirson   (2003-04-22 21:17:00) [1]

>evvcom

Да ладно. Просто с форумом не то что-то стало. В какую тему не заёдешь, народ не отвечает, а стебётся или выдаёт RTFM/MSDN.

>Кстати, в свое время я еще так интерфейсы смотрел. Кидаю нужный компонент (в данном случае Вордовый) на форму, билдю и View>Browse в Дельфях. Расписывает все классы, интерфейсы и т.д., вобщем всю подноготную, а там попробуй QueryInterface уже в IE с именем интерфейса Word, только, наверное, уже где-то в объектах, внедренных в IE. Извини, больше, наверное, не скажу. Сам раньше кучу времени на IE грохнул, но немного в другом направлении.

Да уж... пожалуй я другим путём пойду. Я тут TWB погонял на банальные открытия файла - тормозилово страшное. Масенький файл открывает секунды 3-4. Меня такие скорости ну совсем не устраивают. Пожалуй остановлюсь на варианте с текстовым просмотром, а если понадобится править, буду визуализировать ворд. Он открывается и грузит свои файлы не в пример быстрее.
А за методу разгребания интерфейсов - спасибо, в будущем пригодится.

P.S. Вопрос модератору. А каким боком данный вопрос затрагивает тему сетей? :) Мне просто интересно, в целях самообразования :)


evvcom   (2003-04-22 17:16:00) [2]

> Shirson
Прошу прощения, если обидел. Кстати, в свое время я еще так интерфейсы смотрел. Кидаю нужный компонент (в данном случае Вордовый) на форму, билдю и View>Browse в Дельфях. Расписывает все классы, интерфейсы и т.д., вобщем всю подноготную, а там попробуй QueryInterface уже в IE с именем интерфейса Word, только, наверное, уже где-то в объектах, внедренных в IE. Извини, больше, наверное, не скажу. Сам раньше кучу времени на IE грохнул, но немного в другом направлении.


Shirson   (2003-04-22 16:46:00) [3]

Коллеги, если нет возможности добраться через TWB, или никто не сталкивался с подобным вопросом, что можете посоветовать, по отображению и работой с вордовским файлом на форме? Идеальный вариант был как раз в TWB :(

OleContainer странно себя ведёт и не даёт даже банального скролинга. Редактировать содержимое можно только в новом окне ворда (это я и сам могу сделать, без помощи OleContainer). МОжет его настроить как-то хитро можно?

В общем нужно получить возможность работать с .doc фалом на форме. Кто-нибудь что-нибудь подскажет?


Shirson   (2003-04-22 16:40:00) [4]

>evvcom © (22.04.03 15:28)
>А MSDN не пробовал читать?

Я оттуда начал. Когда не нашел там, когда не нашел в Королевстве, когда не нашёл в кучке сайтов по делфи, когда не нашёл в доступном мне инете, я задал вопрос на форуме.


>Сходи на msdn.microsoft.com, там очень много интересного не только про IE и Word, а также ёксель, моксель и др. прибамбасы!

Большое спасибо за адрес MSDN, но так случилось, что я его в браузере не закрываю. И мне не нужны по отдельности IE, Word, "ёксель, моксель и др. прибамбасы!". Мне нужен ответ на мой вопрос - как получить доступ к функциям ворда, при помощи которого TWebBrowser (IE) открывает doc-файлы.
Если Вы знаете более подробную, нежели msdn.microsoft.com, ссылку на решение этого вопроса, я буду весьма признателен, если Вы мне её дадите.
Если вы знаете хотя бы примерное направление решения этого вопроса, и укажите его мне, я тоже буду весьма Вам признателен.
Если же Ваши знания msdn не простираются дальше знания его URL, свои коментарии можете оставить при себе.


evvcom   (2003-04-22 15:28:00) [5]

А MSDN не пробовал читать? Сходи на msdn.microsoft.com, там очень много интересного не только про IE и Word, а также ёксель, моксель и др. прибамбасы!


Shirson   (2003-04-22 14:38:00) [6]

Так какое имя у интерфейса ворда, кто-нибудь знает?


Shirson   (2003-04-22 13:42:00) [7]

>Dms
>IExplorer сам управляет Вордом и тебе вряд-ли позволит достучаться до его

Меня вполне устроит чепочка управления MyApp->IExplorer->Winword :) Тем более, что в хелпе говорится, что можно получать доступ к контенерам в TWebBrowser. Это просто я допереть не могу, как это реализовать.

>надо писать не as IDispatch, а as <имя интерфейса ворда>

А вот тут поподробнее, плз.


Dms   (2003-04-22 13:38:00) [8]

надо писать не as IDispatch, а as <имя интерфейса ворда>


Dms   (2003-04-22 13:34:00) [9]

IExplorer сам управляет Вордом и тебе вряд-ли позволит достучаться до его.


Наверх

Титульная страница Поиск, карта сайта Написать письмо