![]() |
|
|
#1
|
|||
|
|||
|
Нашел такую процедурку на форуме - FindAndPasteTextDoc- находит и заменяет текст, использую для собственных нужд -
Код:
......
FUNCTION FindAndPasteTextDoc(findtext_,pastetext_:string):boolean;
BEGIN
FindAndPasteTextDoc:=true;
try
W.Selection.Find.Forward:=true;
W.Selection.Find.Text:= findtext_;
if W.Selection.Find.Execute then begin
W.Selection.Delete;
W.Selection.InsertAfter (pastetext_);
end else FindAndPasteTextDoc:=false;
except
FindAndPasteTextDoc:=false;
end;
END;
.....
procedure TForm1.Button4Click(Sender: TObject);
begin
CreateWord;
VisibleWord(true);
OpenDoc('C:\1.doc');
FindAndPasteTextDoc('*DATA*','wwww');
FindAndPasteTextDoc('*MODEL*','1111');
FindAndPasteTextDoc('*SN*','22222');
end; |
|
#2
|
|||
|
|||
|
А в чем проблема? Она на одну замену и расчитана...
Если хочешь все вхождения поменять вызывай в цикле, пока возвращает True. Или переделай внутри, что бы в цикле вызывалась: Код:
if W.Selection.Find.Execute then заменить на: Код:
While W.Selection.Find.Execute Do |
|
#3
|
|||
|
|||
|
Вот именно -
Код:
for i:=1 to PG[Tek_PG].Edit_Count do
begin
if(PG[Tek_PG].Info_Edit[i].Word<>'') then FindAndPasteTextDoc(PG[Tek_PG].Info_Edit[i].Word ,TEdit(PG[Tek_PG].List_Edit[i-1]).text);
end; |