C# word全文检索 查找替换

代码示例一

object replaceAll = WdReplace.wdReplaceAll;
ThisApplication.Selection.Find.ClearFormatting();
ThisApplication.Selection.Find.Text = "111";
ThisApplication.Selection.Find.Wrap=WdFindWrap.wdFindContinue;
ThisApplication.Selection.Find.Forward=true;
ThisApplication.Selection.Find.Replacement.ClearFormatting();
ThisApplication.Selection.Find.Replacement.Text = "222";
ThisApplication.Selection.Find.Execute(ref missingValue,
ref missingValue, ref missingValue, ref missingValue,ref missingValue, ref missingValue, ref missingValue,ref missingValue, ref missingValue, ref missingValue,ref replaceAll, ref missingValue, ref missingValue,ref missingValue, ref missingValue);

代码示例二

c#.net中通过关键字检索指定文件夹中的word文档

添加引用:COM下的Microsoft Word 11.0 Object Liabrary

private static object nullobj = System.Reflection.Missing.Value;

/**//// <summary>
       
/// search in a DOC file(查询DOC文件的内容)
       
/// </summary>
       
/// <param name="fileName"></param>
       
/// <param name="searchForText">要搜索的文本</param>
       
/// <param name="CaseSensitive">是否区分大小写</param>
       
/// <returns></returns>

        public static bool SearchInDoc(string fileName,string searchForText,bool CaseSensitive)
       
{
           
bool Result = (searchForText.Length == 0);
           
object filename = fileName;    //要打开的文档路径
            object MissingValue=System.Reflection.Missing.Value;//Type.Missing;
            object readOnly = false;
            Microsoft.Office.Interop.Word.Application wp
= null;
            Microsoft.Office.Interop.Word.Document wd
= null;
           
           
try
           
{
                wp
= new Microsoft.Office.Interop.Word.ApplicationClass();
                wd
= wp.Documents.Open(ref filename,ref MissingValue,
                   
ref readOnly,ref MissingValue,
                   
ref MissingValue,ref MissingValue,
                   
ref MissingValue,ref MissingValue,
                   
ref MissingValue,ref MissingValue,
                   
ref MissingValue,ref MissingValue,
                   
ref MissingValue,ref MissingValue,
                   
ref MissingValue,ref MissingValue);
           
               
int i=0,iCount=0;
                Microsoft.Office.Interop.Word.Find wfnd;
           
               
if (wd.Paragraphs != null && wd.Paragraphs.Count>0)
               
{
                    iCount
= wd.Paragraphs.Count;
                   
for(i=1;i<=iCount;i++)
                   
{
                        wfnd
=wd.Paragraphs[i].Range.Find;
                        wfnd.ClearFormatting();
                        wfnd.MatchCase = CaseSensitive;
                        wfnd.Text
= searchForText;
                       
                         if (wfnd.Execute(ref MissingValue,ref MissingValue,
                           
ref MissingValue,ref MissingValue,
                           
ref MissingValue,ref MissingValue,
                           
ref MissingValue,ref MissingValue,
                           
ref MissingValue,ref MissingValue,
                           
ref MissingValue,ref MissingValue,
                           
ref MissingValue,ref MissingValue,
                           
ref MissingValue))
                       
{
                            Result
= true;
                           
break;
                        }

                    }

                }

            }

           
catch(Exception ex)
           
{
               
throw new Exception(ex.Message);
            }

           
finally
           
{
               
if(wd != null)
               
{
                    wd.Close(
ref nullobj,ref nullobj,ref nullobj);
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(wd); 
                    wd
= null;
                }
               

               
if(wp != null)
               
{   
                    wp.Quit(
ref nullobj,ref nullobj,ref nullobj);
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(wp);
                    wp
= null;
                }


                GC.Collect();
            }


           
return Result;
        }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值