我用这段函数来操作word,用数据库中的值来替代word中的指定字符
procedure replacedoc(text, rtext: string);
var
      FindText, MatchCase, MatchWholeWord, MatchWildcards, MatchSoundsLike,
            MatchAllWordForms, Forward1, Wrap, Format, ReplaceWith, Replace, MatchKashida, MatchDiacritics,
            MatchAlefHamza, MatchControl: OleVariant;
begin
      FindText := text;
      MatchCase := False;
      MatchWholeWord := True;
      MatchWildcards := False;
      MatchSoundsLike := False;
      MatchAllWordForms := False;
      Forward1 := True;
      Wrap := wdFindContinue;
      Format := False;
      ReplaceWith := rtext;
      Replace := True;
      WordDocument.Range.Find.Execute(FindText, MatchCase, MatchWholeWord,
            MatchWildcards, MatchSoundsLike, MatchAllWordForms, Forward1,
            Wrap, Format, ReplaceWith, Replace, MatchKashida, MatchDiacritics,
            MatchAlefHamza, MatchControl);end;
有2个不同的word文挡:                          澄规市方〔CGFA〕号         建设工程(市政)规划设计方案审查意见书
       
bjdw:
   你单位申报的工程xmmc设计方案已收悉,根据《中华人民共和国城市规划法》和《建设工程(市政)规划设计条件书》(编号:sjtjsbh)的有关规定,原则同意该工程建设,并提出以下审查修改意见,请在施工图设计阶段予以采纳:
Fayj  在替代xmmc这个标识符的时候不能够替代成功,替代其他因为标识符没有问题,但是如果改成以下内容
            澄规市方〔CGFA〕号         建设工程(市政)规划设计方案审查意见书
       
bjdw:
   你单位申报的工程设计方案已收悉,根据《中华人民共和国城市规划法》和《建设工程(市政)规划设计条件书》xmmc(编号:sjtjsbh)的有关规定,原则同意该工程建设,并提出以下审查修改意见,请在施工图设计阶段予以采纳:
Fayj  
替代起来一点问题没有。
替代语句是这样的:
      replacedoc('cgfa', qj_bh);
      replacedoc('bjdw', dm.aq_szjbxxview.fieldbyname('jsdwmc').AsString);
      if dm.aq_szjbxxview.FieldByName('szsjtjsbh').AsString<>'' then
      replacedoc('sjtjsbh', dm.aq_szjbxxview.fieldbyname('szsjtjsbh').AsString)
      else
      replacedoc('sjtjsbh', '/');
      replacedoc('xmmc', dm.aq_szjbxxview.fieldbyname('xmmc').AsString);
      replacedoc('fayj', dm.aq_szjbxxview.fieldbyname('fascyj').AsString);
高手能否帮忙解决,在线等!