C# Word 查找替换操作

来源:互联网 发布:怎么找网络棋牌漏洞 编辑:程序博客网 时间:2024/06/05 10:49

转自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);}




0 0
原创粉丝点击