C# Word 查找替换操作

转载 2016年08月31日 16:42:18

转自http://blog.chinaunix.net/uid-25498312-id-4149333.html

参考网上大部分提供的word查找替换的方法,昨天还好使,今天wordDoc.Content.Find.Execute函数的返回值就变成false了,目前还没有找到原因

然后搜索了多篇博客,终于找到一个比较好的方法,见上面博客链接


好使的查找替换方法

<pre name="code" class="csharp">Dictionary<string, string> datas = new Dictionary<string, string>();
datas.Add("{管养县区}", "XX县");
datas.Add("{报告日期}", "二零一六年九月");
datas.Add("{报告年份}", "2016年");
object replaceAll = MSWord.WdReplace.wdReplaceAll;
foreach (var item in datas)
{
    object myFind = wordDoc.Content.Find;
    object findText = item.Key;
    object replaceText = item.Value;
    object oMissing = System.Reflection.Missing.Value;
    try
    {
        object[] Parameters;
        Parameters = new object[15];
        Parameters[0] = findText;
        Parameters[1] = Missing.Value;
        Parameters[2] = Missing.Value;
        Parameters[3] = Missing.Value;
        Parameters[4] = Missing.Value;
        Parameters[5] = Missing.Value;
        Parameters[6] = Missing.Value;
        Parameters[7] = Missing.Value;
        Parameters[8] = Missing.Value;
        Parameters[9] = replaceText;
        Parameters[10] = replaceAll;
        Parameters[11] = Missing.Value;
        Parameters[12] = Missing.Value;
        Parameters[13] = Missing.Value;
        Parameters[14] = Missing.Value;
        myFind.GetType().InvokeMember("Execute", BindingFlags.InvokeMethod, null, myFind, Parameters);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.ToString());
    }
}

不好使的替换方法

<pre name="code" class="csharp">Dictionary<string, string> datas = new Dictionary<string, string>();
datas.Add("{管养县区}", "县");
datas.Add("{报告日期}", "二零一六年九月");
datas.Add("{报告年份}", "2016年");
object replaceAll = MSWord.WdReplace.wdReplaceAll;
foreach (var item in datas)
{
    wordDoc.Content.Find.Replacement.ClearFormatting();
    wordDoc.Content.Find.ClearFormatting();
    wordDoc.Content.Find.Text = item.Key;//需要被替换的文本
    wordDoc.Content.Find.Replacement.Text = item.Value;//替换文本 

    //执行替换操作
    bool temp = wordDoc.Content.Find.Execute(
    Missing.Value, Missing.Value,
    Missing.Value, Missing.Value,
    Missing.Value, Missing.Value,
    Missing.Value, Missing.Value, Missing.Value,
    Missing.Value, ref replaceAll,
    Missing.Value, Missing.Value,
    Missing.Value, Missing.Value);
}





c#对word操作的查找替换功能

expression.Execute(FindText,   MatchCase,   MatchWholeWord,  MatchWildcards,   MatchSoundsLike,   Ma...
  • mathewsking
  • mathewsking
  • 2009年10月19日 13:07
  • 6878

C# 操作Word批量替换

首先引入Microsoft.Office.Interop.Word组件,该组件在安装完office后在COM中出现 using System; using System.Collections...
  • dyllove98
  • dyllove98
  • 2013年03月24日 13:03
  • 2472

C#操作word之文本批量替换

C#操作word之文本批量替换 首先引用office组件,电脑必须有安装office using System; using System.Collections.Generic; using S...
  • MajorMayer
  • MajorMayer
  • 2016年01月04日 10:54
  • 1840

C# word全文检索 查找替换

代码示例一 object replaceAll = WdReplace.wdReplaceAll; ThisApplication.Selection.Find.ClearFormatting(...
  • xiaohan2826
  • xiaohan2826
  • 2013年05月29日 17:12
  • 1974

C# 替换Word文字【包含页眉、页脚、文本框、普通文字的替换】

2015-6-5 11:52备注 关于下面用micsoft处理word替换的说明,使用micsoft自带的com组件处理起来后期会有部署到服务器会出一些奇奇怪怪的问题,什么呼叫失败,标识不正确什么的...
  • qq873113580
  • qq873113580
  • 2015年06月02日 16:07
  • 2406

C#操作office之word文本替换,只能实现替换其中一个,可以替换超长文本

C#操作office之word文本替换,只能实现替换其中一个,可以替换超长文本 由于word文本替换长度不能超过255,所以当替换文本超过255就将它分段替换 首先引用相关组件: using...
  • MajorMayer
  • MajorMayer
  • 2016年01月04日 11:01
  • 2017

C#在word文档中替换字符串

在文档中搜索和替换字符串,先在word文档中标记字符串,然后再搜索标记字符串并用新的字符串替换标记字符串.主要是先选择整个文档,然后使用Find的Execute方法查找指定字符串并替换为相应字符串.以...
  • wangzhkai
  • wangzhkai
  • 2008年06月05日 09:15
  • 1036

c#操作word进行批量查找和替换

  • 2016年06月14日 17:47
  • 15KB
  • 下载

C# 使用正则 全字匹配查找替换(Google KeyWord:C# Regex Whole Word Replace)

在为 protoc-gen-lua 生成的lua文件 制作 把 local变量 装到 Table 中的小工具时,需要频繁的对 String 进行 Replace 操作,但是 String 的 Repl...
  • cp790621656
  • cp790621656
  • 2015年12月12日 02:18
  • 1787

C#操作Word (1)Word对象模型

Word对象模型  (.Net Perspective) 本文主要针对在Visual Studio中使用C# 开发关于Word的应用程序 来源:Understandingthe Word Obje...
  • ruby97
  • ruby97
  • 2012年03月29日 14:09
  • 19616
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C# Word 查找替换操作
举报原因:
原因补充:

(最多只允许输入30个字)