以下代码是从大富翁里找来的,经测试每次执行后都只能替换第一个,有点郁闷,我想不提示地一次进行全部替换,怎么改,是不是哪个参数没设对?
需要放(WordApplication1,WordDocument1)-------------
procedure TForm1.Button1Click(Sender: TObject);
var
Filename:OleVariant;
findtext, matchcase, matchwholeword, matchwildcards, matchsoundslike,
matchallwordforms, Oforward, wrap, format, replacewith, replace,
matchchashida,matchdiacritics,matchalef,matchcontrol: olevariant;
begin
WordApplication1.Connect;
WordApplication1.Visible:=True;
Filename:='C:\aa.doc';
WordApplication1.Documents.Open(Filename,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam);
WordDocument1.ConnectTo(WordApplication1.ActiveDocument);
WordApplication1.Options.CheckSpellingAsYouType := False;
WordApplication1.Options.CheckGrammarAsYouType := False;
//设置参数
findtext := '<#总额#>';
matchcase := false;
matchwholeword := true;
matchwildcards := false;
matchsoundslike := false;
matchallwordforms := false;
Oforward := true;
wrap := wdReplaceAll;//wdfindcontinue;//wdReplaceAll,wdfindcontinue,EmptyParam
format := false;
replacewith := '¥100.00';
replace := true;
matchchashida := false;
matchdiacritics := false;
matchalef := false;
matchcontrol := true;
//查找替换
WordApplication1.Selection.Find.Execute(findtext, matchcase, matchwholeword,
matchwildcards, matchsoundslike, matchallwordforms, Oforward,
wrap, format, replacewith, replace,
matchchashida,matchdiacritics,matchalef, matchcontrol);end;
需要放(WordApplication1,WordDocument1)-------------
procedure TForm1.Button1Click(Sender: TObject);
var
Filename:OleVariant;
findtext, matchcase, matchwholeword, matchwildcards, matchsoundslike,
matchallwordforms, Oforward, wrap, format, replacewith, replace,
matchchashida,matchdiacritics,matchalef,matchcontrol: olevariant;
begin
WordApplication1.Connect;
WordApplication1.Visible:=True;
Filename:='C:\aa.doc';
WordApplication1.Documents.Open(Filename,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam);
WordDocument1.ConnectTo(WordApplication1.ActiveDocument);
WordApplication1.Options.CheckSpellingAsYouType := False;
WordApplication1.Options.CheckGrammarAsYouType := False;
//设置参数
findtext := '<#总额#>';
matchcase := false;
matchwholeword := true;
matchwildcards := false;
matchsoundslike := false;
matchallwordforms := false;
Oforward := true;
wrap := wdReplaceAll;//wdfindcontinue;//wdReplaceAll,wdfindcontinue,EmptyParam
format := false;
replacewith := '¥100.00';
replace := true;
matchchashida := false;
matchdiacritics := false;
matchalef := false;
matchcontrol := true;
//查找替换
WordApplication1.Selection.Find.Execute(findtext, matchcase, matchwholeword,
matchwildcards, matchsoundslike, matchallwordforms, Oforward,
wrap, format, replacewith, replace,
matchchashida,matchdiacritics,matchalef, matchcontrol);end;
具体哪个.. 忘记了
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam); WordDocument.ConnectTo(WordApplication.ActiveDocument); FindText := 'fossil2000';
ReplaceWith := 'sanmaotuo';
Replace := 2; {type
WdReplace = TOleEnum;
const
wdReplaceNone = $00000000;
wdReplaceOne = $00000001;
wdReplaceAll = $00000002; }//关键参数 WordDocument.Content.Find.Execute(FindText,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam, EmptyParam,
ReplaceWith,Replace,
EmptyParam,EmptyParam,EmptyParam,EmptyParam);
WordDocument.Save;
WordDocument.Close;
WordDocument.Free; WordApplication.Free
replace := 2就可以了(wdReplaceAll = $00000002)