Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2011, 22:15   #1
s100i29
 
Регистрация: 20.03.2011
Сообщений: 3
По умолчанию Ole сервер Word

Доброго времени суток.
Имеется готовый шаблон *.doc
Необходимо вставить с помощью оле-сервера word, текст в конкретную позицию.
Если делать с помощью команды OlePropertyGet, вставленный текст замещает существующий.
Жду вашего ответа спасибо!

Последний раз редактировалось s100i29; 21.03.2011 в 01:55.
s100i29 вне форума Ответить с цитированием
Старый 20.03.2011, 22:35   #2
s100i29
 
Регистрация: 20.03.2011
Сообщений: 3
По умолчанию

Хоть кто нибудь отзовитесь!

Последний раз редактировалось s100i29; 21.03.2011 в 01:55.
s100i29 вне форума Ответить с цитированием
Старый 30.03.2011, 16:14   #3
fgghj
Новичок
Джуниор
 
Регистрация: 22.03.2011
Сообщений: 1
Сообщение

Цитата:
Сообщение от s100i29 Посмотреть сообщение
Хоть кто нибудь отзовитесь!
Если еще нужна помощь, я это так реализовала (если нужно вставить данные из таблицы):
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Variant T;
if(!fStart)
{
try
{
vVarApp=CreateOleObject("Word.Appli cation");
fStart=true;
}
catch(...)
{
MessageBox(0, "Ошибка при открытии сервера Word",
"Ошибка", MB_OK);
return;
}
}

vVarApp.OlePropertySet("Visible",tr ue);
vVarDoc=vVarApp.OlePropertyGet("Doc uments");
vVarDoc.OleProcedure("Open", "D:\\File.doc");
vVarDoc=vVarDoc.OleFunction("Item", 1);
vVarDoc.OleProcedure("Activate");

vVarApp.OlePropertyGet("Selection") .OlePropertyGet("Find").OleProcedur e("Execute",
/*FindText=*/ "Старое_слово", /*MatchCase=*/false, /*MatchWholeWord=*/ false,
/*MatchWildcards=*/false, /*MatchSoundsLike=*/false, /*MatchAllWordForms=*/false,
/*Forward=*/true, /*Wrap=*/1, /*Format=*/false, /*ReplaceWith=*/ Table1->FieldByName("StationName")->AsString.c_str(), /*Replace=*/2);

P.S. если просто любое слово вставить:
...
vVarApp.OlePropertyGet("Selection") .OlePropertyGet("Find").OleProcedur e("Execute",
/*FindText=*/ "Старое_слово", /*MatchCase=*/false, /*MatchWholeWord=*/ false,
/*MatchWildcards=*/false, /*MatchSoundsLike=*/false, /*MatchAllWordForms=*/false,
/*Forward=*/true, /*Wrap=*/1, /*Format=*/false, /*ReplaceWith=*/ "Новое_слово", /*Replace=*/2);

Вот как-то так!
fgghj вне форума Ответить с цитированием
Старый 30.03.2011, 21:45   #4
s100i29
 
Регистрация: 20.03.2011
Сообщений: 3
По умолчанию

Цитата:
Сообщение от fgghj Посмотреть сообщение
Если еще нужна помощь, я это так реализовала (если нужно вставить данные из таблицы):
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Variant T;
if(!fStart)
{
try
{
vVarApp=CreateOleObject("Word.Appli cation");
fStart=true;
}
catch(...)
{
MessageBox(0, "Ошибка при открытии сервера Word",
"Ошибка", MB_OK);
return;
}
}

vVarApp.OlePropertySet("Visible",tr ue);
vVarDoc=vVarApp.OlePropertyGet("Doc uments");
vVarDoc.OleProcedure("Open", "D:\\File.doc");
vVarDoc=vVarDoc.OleFunction("Item", 1);
vVarDoc.OleProcedure("Activate");

vVarApp.OlePropertyGet("Selection") .OlePropertyGet("Find").OleProcedur e("Execute",
/*FindText=*/ "Старое_слово", /*MatchCase=*/false, /*MatchWholeWord=*/ false,
/*MatchWildcards=*/false, /*MatchSoundsLike=*/false, /*MatchAllWordForms=*/false,
/*Forward=*/true, /*Wrap=*/1, /*Format=*/false, /*ReplaceWith=*/ Table1->FieldByName("StationName")->AsString.c_str(), /*Replace=*/2);

P.S. если просто любое слово вставить:
...
vVarApp.OlePropertyGet("Selection") .OlePropertyGet("Find").OleProcedur e("Execute",
/*FindText=*/ "Старое_слово", /*MatchCase=*/false, /*MatchWholeWord=*/ false,
/*MatchWildcards=*/false, /*MatchSoundsLike=*/false, /*MatchAllWordForms=*/false,
/*Forward=*/true, /*Wrap=*/1, /*Format=*/false, /*ReplaceWith=*/ "Новое_слово", /*Replace=*/2);

Вот как-то так!
Спасибо, помогло!) А не подскажите ещё где можно взять литературу по работе с ole сервером ворд или видеоуроки. Заранее спасибо!)
s100i29 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ole, word и межстрочное расстояние Hexen C++ Builder 1 06.10.2009 21:45
OLE Maks1978 БД в Delphi 1 29.10.2008 10:06
Word, ole, Альбомный лист K@$K@ Общие вопросы Delphi 2 16.04.2008 22:38
Формирование Excel-документа через OLE-сервер с Unicode-символами sergushkin Microsoft Office Excel 2 13.04.2008 23:04