如何使用C#将具有字体颜色的文本添加到word文档?

时间:2018-05-09 08:58:44

标签: c# ms-word office-interop

我有一个Word文档,我希望使用C#在字体颜色的末尾添加一些单词。有人可以解释如何添加内容然后格式化吗?

我尝试使用以下代码,但它不起作用

doc1.Words[i].InsertAfter("Text to be added");   
doc1.Words[i].Font.ColorIndex = WdColorIndex.wdBlue;

1 个答案:

答案 0 :(得分:1)

关键是使用Range对象。您必须定义一个范围,然后如果您要添加的内容不应替换范围中已有的范围,则范围需要"折叠"。 (想象它就像做出选择然后按向右或向左箭头键以获得闪烁的插入点(光标))。

一旦你有一个范围,你可以按照自己的意愿操纵它 - 它会保持稳定。再次,有点像在作为用户工作时格式化选择。

Word.Range rng = doc1.Words[i];
object oCollapseEnd = Word.WdCollapseDirection.wdCollapseEnd;
rng.Collapse(ref oCollapseEnd);
rng.Text = "the new text";
rng.Font.ColorIndex = Word.WdColorIndex.wdBlue;