VSTO:如何在Word中使用不同格式的书签添加文本

时间:2009-07-07 20:51:57

标签: c# ms-word vsto ms-office

我有一个带书签的word文档。我使用书签来获取范围对象,然后我设置文本并添加到文档中。现在我想在新添加的文本之后添加文本,但格式不同,我该怎么做?现在我使用像

这样的东西
object oRangeStart = (object) previousRange.End + 1;
object oRangeEnd = (object) previousRange.End + 2;
Word.Range newRange = doc.Range(ref oRangeStart, ref oRangeEnd);
newRange.Text = "Hello, world!";

然后插入它,但它显示在错误的位置。

我不能使用单一范围的原因是我想插入类似

的内容

命名

Lorem ipsum。 $ 99.99

我相信我需要为每个我想要应用的样式使用不同的范围对象。

1 个答案:

答案 0 :(得分:3)

我通常使用范围在需要时换出文本。尝试使用Application.Selection:

Word.Selection curSel = Application.Selection;
curSel.TypeText("Type Some Text");

在你的情况下,试试这个:

Word.Selection curSel;
int endOfRange =  previousRange.End + 1;
curSel.SetRange(endOfRange, endOfRange);

curSel.Font.Bold = 1;
curSel.TypeText("Hello, world!");
curSel.Font.Bold = 0;
curSel.TypeParagraph();