Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > Замена меток в Word


Автор: SkyHawk 27.6.2007, 04:03
Народ, подскажите!
Надо заменить текст в вордовском документе. Возникает два вопроса. Первый: как сделать, чтобы замена выполнилась по всем меткам в документе, а не только по одной? 
Второй: как отменить запрос о сохранении документа? Функция  WordApplication1->set_DisplayAlerts(wdAlertsNone) не помогает.

Код


void __fastcall TForm1::FormCreate(TObject *Sender)
{
  OleVariant FileName=GetCurrentDir()+"\\1.doc";
  OleVariant Yes=true;

  // открываем нужный документ
  WordApplication1->Documents->Add(FileName, EmptyParam);
  // меняем везде значение 111

  OleVariant oldStr = AnsiString("111");
  OleVariant newStr = AnsiString("пробный");

  WordDocument1->ConnectTo(WordApplication1->ActiveDocument);
  WordDocument1->Range(EmptyParam,EmptyParam)->Find->Execute(oldStr,
    EmptyParam,EmptyParam,EmptyParam,EmptyParam,
    EmptyParam,EmptyParam,EmptyParam,EmptyParam,
    newStr,Yes);
  WordApplication1->set_DisplayAlerts(wdAlertsNone);
  WordApplication1->set_Visible(true);
}




Версия Билдера - 6.0

Автор: SkyHawk 29.6.2007, 04:18
М-да... 
Спасибо за активную помощь.
Ладно, с первым вопросом сам разобрался. Помогите хотя-бы со вторым.

Автор: SkyHawk 2.7.2007, 03:31
Товарищи, ну что же вы так?...
Ну помогите же. Неужели никто и никогда не работал с Word? 
У меня появился еще вопрос. Как сделать, чтобы компонент мог отключиться от сервера Word и создать/открыть новые документы при том, чтобы старые доки были не закрыты?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)