C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Выделить и копировать выделенное ( Word )
id12
Отправлено: 19.09.2005, 23:09


Ученик-кочегар

Группа: Участник
Сообщений: 10



Доброго времени суток!

Пожалуйста подскажите как сделать несколько действий с MS Word'om:

1. Выделить текст весь текст из одного документа (заполненая таблица в out.doc)
2. Скопировать его конец другого документа (in.doc)

Почти четыре дня пытаюсь методом тыка осилить эти две операции... но безуспешно sad.gif
С помощью страых тем на форуме научился только открывать, сохранять и работать с закладками...

вот кусок моего кода (в том смысле что это не WordAplication, а OLE)

Variant app;
app=CreateOleObject( "Word.Application" );
app.OlePropertySet("Visible", (Variant)true);
Variant docs;
docs=app.OlePropertyGet("Documents");
docs.OleProcedure("Open", file_name);
Variant adoc;
adoc=app.OlePropertyGet("ActiveDocument");
/*

*/
Variant bookmarks;
Variant bookmark;
Variant range;

bookmarks=adoc.OlePropertyGet("Bookmarks");
AnsiString bookmark_name="wwww";

bookmark=bookmarks.Exec(Function("Item") << bookmark_name.c_str());
range=bookmark.OlePropertyGet("Range");
range.Exec(Procedure("InsertAfter") << "Test");
/*

*/



С уважением, Дмитрий.
AVC
Отправлено: 20.09.2005, 08:52


Ветеран

Группа: Модератор
Сообщений: 1583



Самый простой способ научиться -
- включить запись макроса (Сервис/Макрос/Начать запись);
- сделать нужные действия;
- остановить запись;
- творчески подойти к полученному тексту макроса
(просмотр во встроеном редакторе VB)
Guest
Отправлено: 20.09.2005, 23:22


Не зарегистрирован







получилось вот что...
Selection.MoveDown Unit:=wdLine, Count:=19, Extend:=wdExtend
Selection.Copy
Selection.MoveDown Unit:=wdLine, Count:=1
Selection.PasteAndFormat (wdPasteDefault)

это все здорово, но как этот код перенести в Builder? К сожалению, я так и не нашел логики...

Если не трудно, подскажите как это сделать.

Вернуться в Технологии COM/DCOM, ActiveX