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

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

Работа с Word - поиск и замена [D5, Win2k]


Vitalik_P ©   (2004-10-25 15:39:00) 

Как в открытом RTF-файле заменить некоторые фрагменты текста (типа ID_1, ID_2)на другие?


Rouse_   (2004-10-26 15:19:00) [1]

Что-то наподобие...

procedure CreateReport(const Path: String; const Index: Byte = 0;
 Shablon: Boolean = False);
var
 W: Variant;
 I: Byte;
 ClassID: TCLSID;

 procedure Replace(const Value, Result: String);
 begin
   W.Selection.Find.Execute(Value, EmptyParam, EmptyParam, EmptyParam,
   EmptyParam, EmptyParam, EmptyParam, 1, EmptyParam,
   Result, EmptyParam);
   Application.ProcessMessages;
 end;

begin
 if CLSIDFromProgID('Word.Application', ClassID) <> S_OK then
 begin
   MessageBox(MainForm.Handle, PChar('Word не обнаружен. Создание отчета не возможно'),
     'Внимание!!!',MB_OK or MB_ICONERROR);
   MainForm.StatusBar1.Panels.Items[0].Text := '   Ошибка...';
   Exit;
 end;

 W := CreateOleObject('Word.Application');
 W.Documents.Open(FileName := Path, ReadOnly:=False);

 Replace('<Qpn>',
   FormatFloat('0', HeatData[0].Qpn));
 Replace('<1>', HeatData[0].BoilerName);
 Replace('<2>', HeatData[0].Snumber);
 Replace('<3>', HeatData[0].Rnumber);
 Replace('<4>', HeatData[0].Znumber);
 Replace('<5>', MainForm.ComboBox2.Text);
 Replace('<6>', HeatData[0].Obor);
 Replace('<7>', HeatData[0].Ust);


и т.д.


1008   (2004-10-26 14:39:00) [2]

http://www.delphiworld.narod.ru/


Наверх

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