在word里查找所有匹配的单词并修改文字颜色

dannisyan 2017-07-05 05:59:26
自己开发一个程序,其中有一个功能是在word里查找所有匹配的单词并修改文字颜色,我用的是Selection。
遇到的问题是,只能修改第一个匹配到的单词颜色,而不是所有的。
代码如下:

object oMissingValue = Type.Missing;
object oFileName = sthFileName;

Word.Application appWord = new Word.Application(); //打开word程序

Word.Selection curSelect = appWord.Selection; //实例化一个selection接口
curSelect.Find.ClearFormatting();
curSelect.Find.Text = sthKeys; //查询的文字


//查找对象
curSelect.Find.Execute(ref oMissingValue, ref oMissingValue,
true, ref oMissingValue,
ref oMissingValue, true,
ref oMissingValue, ref oMissingValue,
ref oMissingValue, ref oMissingValue,
ref oMissingValue, ref oMissingValue,
ref oMissingValue, ref oMissingValue,
ref oMissingValue);
string oth = curSelect.Text;
curSelect.Font.Color = Word.WdColor.wdColorRed;//设置颜色为红

//清空Range对象
//Microsoft.Office.Interop.Word.Range range = null;

//保存
docWord.Save();
docWord.Close(ref oMissingValue, ref oMissingValue, ref oMissingValue);
appWord.Quit(ref oMissingValue, ref oMissingValue, ref oMissingValue);
...全文
538 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
threenewbee 2017-07-06
  • 打赏
  • 举报
回复
Find的参数里有个是从哪里开始查找,你查查文档,配合循环,就可以都标记出来
nry19871012 2017-07-05
  • 打赏
  • 举报
回复
office有一个东西叫宏,你可以直接录制宏,录制完成后,在word中的所有操作都会生成相应的VBA代码。

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧