我今天找了很久没找到通过C#代码来对Word中选中的文本进行底色设置的代码,一度以为没有这个,后来去阅读源码才看到,其实C#是提供了底色修改的接口的,代码如下:
Word._Application word = new Word.Application();
Word._Document document = word.Documents.Open("filename");
word.Visible = true;
// 以上是打开word操作,获取工作对象
// 在文本中用光标选择完对象之后,进行如下操作
word.Selection.Font.Color = Word.WdColor.wdColorAutomatic; // 设置字体颜色
word.Selection.Shading.BackgroundPatternColor = Word.WdColor.wdColoYellow; // 设置文字底色
word.ActiveDocument.Save(); // 进行保存
通过Shading即可对文字底色(前景色,后景色?)进行复制
这里复制的颜色是C#内置的颜色,是枚举类型的。如果要用RGB参数来设置颜色,也可以做到,观察WdColor源码发现,它的颜色是一串十进制的数字,所以我们只要找到RGB颜色的16进制代码然后转化为十进制,然后再用一个强制类型转换,就可以达到效果
大概像这样,但是没有进行测试,有需要的自己试试看,应该可以。
word.Selection.Font.Color = (Word.WdColor)9597651