Название: ActiveX и Word Отправлено: Rakot от Май 02, 2007, 19:40 Всем доброго времени суток.
Недавно узнал, что для вставки данных(текст, рисунок) в документ Word, можно использовать технологию ActiveX. Понял, как получить указатель на word, сделать его видимым, но не могу понять структуру в Word. На какие объекты надо получать указатели и как затем сохранять в них данные(текст, рисунок)? З.Ы. Юзаю Qt3.3.5. Название: ActiveX и Word Отправлено: Вудруф от Май 03, 2007, 08:25 Делаешь так: записываешь макрос в Word'е, сохраняешь, смотришь его внутреннюю структуру. Потом через ActiveX вызываешь те же функции, получаешь те же переменные, что и в макросе были.
Название: ActiveX и Word Отправлено: Rakot от Май 03, 2007, 18:55 Цитировать Делаешь так: записываешь макрос в Word'е, сохраняешь, смотришь его внутреннюю структуру. Потом через ActiveX вызываешь те же функции, получаешь те же переменные, что и в макросе были. А можно примерчик или ссылки, где можно прочитать о макросах, или книжечки, которые подойдут для данной темы. добавлено спустя 3 часа 19 минут: Цитировать глянь тут http://prog.org.ru/forum/htopic_3523_excel.html и сделай по форуму поиск Excel Смотрел, но так и не понял в чем разница между Excel и Word, что для Word нужно? добавлено спустя 1 час 41 минуту: Делаю: Код:
Но текст не отображается. Кто-нибудь знает как надо правильно, весь инет аблазил, так и не нашел. Очень нада... Название: ActiveX и Word Отправлено: Вудруф от Май 04, 2007, 08:10 Ну записать в word'е макрос - проще простого.
Сервис -> Макрос -> Начать запись. Делаешь вставку текста или что-нибудь другое. Сервис -> Макрос -> Остановить запись. Сервис -> Макрос -> Макросы Выбираешь вновь записанный Изменить И видишь текст на VisualBasic. Дальше ищешь документацию по ActiveX (если у тебя коммерческая версия, то в assistant'е по ActiveQt должно быть) и смотришь, как получать объекты и вызывать функции. Название: ActiveX и Word Отправлено: Rakot от Май 04, 2007, 14:32 Цитировать Ну записать в word'е макрос - проще простого. Сервис -> Макрос -> Начать запись. Делаешь вставку текста или что-нибудь другое. Сервис -> Макрос -> Остановить запись. Сервис -> Макрос -> Макросы Выбираешь вновь записанный Изменить И видишь текст на VisualBasic. Дальше ищешь документацию по ActiveX (если у тебя коммерческая версия, то в assistant'е по ActiveQt должно быть) и смотришь, как получать объекты и вызывать функции. Делаю все так, как ты сказал. Макрос имеет следующий вид (вставка текста из другого приложения): Код:
Долго рылся в Qt Assistant, нашел пример с Outlook. Но опять же не понятна структура самого Word. В примере из форума про Excel (Синтез QT и Excel) до самой вставки значения, выполнялась целая куча получения различных указателей. По приведенному выше макросу я не вижу что за указатели нужны. Если не сложно напиши(или если сможешь), как правильно вставить, например, текст в Word. З.Ы. Я думаю, если сможешь написать, то пригодится очень многим новичкам (компонентное программирование - серьезная вещь). Название: ActiveX и Word Отправлено: Вудруф от Май 05, 2007, 08:50 Не смогу, у меня GPL-версия. Я просто сам так делал для Borland C++ в своё время, но вызовы, как ты понимаешь, там немного по-другому оформлялись.
Так можно узнать названия свойств и функций. А как их вызывать - смотри в документации. Название: ActiveX и Word Отправлено: Rakot от Май 06, 2007, 01:02 to Вудруф: спасибо за советы.
А вообще реально какими-либо способами вставить картинку в Word. Неужели никто не занимался этим вопросом. Опишите кто как смог. Название: ActiveX и Word Отправлено: AlexVR от Май 07, 2007, 21:04 Если для Office 2003, то всего проще создать XML документ. Берешь, набиваешь документ, сохраняешь его в XML формате, смотришь внутрености и повторяешь пограммно. Так делал для распечатки талонов на обед в одной конторе, правда данные вводились через InfoPath, но это мелочи, главное, максимально быстро реализуется. И память лишними экземплярами Worda не забивается.
Название: ActiveX и Word Отправлено: Rakot от Май 08, 2007, 16:28 Цитировать Если для Office 2003, то всего проще создать XML документ. Берешь, набиваешь документ, сохраняешь его в XML формате, смотришь внутрености и повторяешь пограммно. Так делал для распечатки талонов на обед в одной конторе, правда данные вводились через InfoPath, но это мелочи, главное, максимально быстро реализуется. И память лишними экземплярами Worda не забивается. Спасибо. |