您的位置:首页 > 编程语言 > C语言/C++

C++ builder 控制word替换文字的一个函数

2007-07-26 09:48 381 查看
这个函数摘自网上,做了一些小的修改.

bool __fastcall TZYSCCDF::Word_StringReplace(Variant   WordApp,AnsiString   SearchString,AnsiString   ReplaceString,TWordReplaceFlags   Flags)
  {  
        const     wdFindContinue   =   1;  
        const     wdReplaceOne   =   1;  
        const     wdReplaceAll   =   2;  
        const     wdDoNotSaveChanges   =   0;  

        bool   Result;
        Result   =   False;
   

              Variant   Selection=WordApp.OlePropertyGet("Selection");
              Variant   Find=Selection.OlePropertyGet("Find");
              Find.Exec(Procedure("ClearFormatting"));  

              if   (Flags.Contains(   wrfReplaceAll))  
              {  

                    Find.Exec(Procedure("Execute")  
                    //   FindText  
                    <<SearchString.c_str()  
                    //MatchCase  
                    <<Variant(Flags.Contains(wrfMatchCase))  
                    //MatchWholeWord  
                    <<Variant(false)  
                    //MatchWilddeards
                    <<Variant(Flags.Contains(wrfMatchWildcards))  
                    //MatchSoundsLike  
                    <<Variant(false)  
                    //MatchAllWordForms  
                    <<Variant(false)  
                    //Forward  
                    <<Variant(true)  
                    //Wrap
                    <<Variant(wdFindContinue)  
                    //Format  
                    <<Variant(false)  
                    //ReplaceWith  
                    <<ReplaceString.c_str()  
                    //Replace  
                    <<wdReplaceAll  
                    );
              }  
              else  
              {  
                    Find.Exec(Procedure("Execute")  
                    //   FindText  
                    <<SearchString.c_str()  
                    //MatchCase  
                    <<Variant(Flags.Contains(wrfMatchCase))
                    //MatchWholeWord  
                    <<Variant(false)  
                    //MatchWilddeards  
                    <<Variant(Flags.Contains(wrfMatchWildcards))  
                    //MatchSoundsLike  
                    <<Variant(false)  
                    //MatchAllWordForms  
                    <<Variant(false)
                    //Forward  
                    <<Variant(true)  
                    //Wrap  
                    <<Variant(wdFindContinue)  
                    //Format  
                    <<Variant(false)
                    //ReplaceWith
                    <<ReplaceString.c_str()
                    //Replace
                    <<wdReplaceOne
                    );
              }

           //   Variant   ActiveDocument=WordApp.OlePropertyGet("ActiveDocument");

              Result   =   true;

        }

  }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++
相关文章推荐