1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53:
| function Word_SearchReplace(ADocument: TFileName; SearchString, ReplaceString: string): Boolean; var WordApplication: TWordApplication; WordDocument: TWordDocument; FileName, _Find, _Replace, _All, _Wrap: OleVariant; begin { Assume Failure } Result := False;
FileName := ADocument; { Connect to Word } WordApplication := TWordApplication.Create(nil); try WordApplication.Connect; WordApplication.Documents.Open(FileName, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
WordDocument := TWordDocument.Create(nil); { Connect to Active Document } WordDocument.ConnectTo(WordApplication.ActiveDocument); try { Initialize parameters} _Wrap := wdFindContinue; _All := wdReplaceAll; _Find := SearchString; _Replace := ReplaceString;
{ Perform the search} WordDocument.Content.Find.Execute(_Find, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, _Wrap, EmptyParam, _Replace, EmptyParam, EmptyParam, EmptyParam, EmptyParam, _All);
{ Close Word } finally WordDocument.Close; WordDocument.Disconnect; end; // WordDocument1.ConnectTo(WordApplication1.ActiveDocument); { Save } WordDocument.SaveAs(FileName); WordDocument.Disconnect; WordDocument.Free; Result:= True; finally { Quit } WordApplication.Quit; WordApplication.Disconnect; WordApplication.Free; end; end; |