Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# VSTO:如何在Word中的书签后添加文本,在文本中使用不同的格式_C#_Ms Word_Vsto_Ms Office - Fatal编程技术网

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

C# VSTO:如何在Word中的书签后添加文本,在文本中使用不同的格式,c#,ms-word,vsto,ms-office,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 oRange

我有一个带书签的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!";
然后插入它,但它显示在错误的位置

我不能使用单个范围的原因是我想插入如下内容

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!";
名称

同侧眼线$99.99


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

我通常在需要时使用范围来交换文本。尝试使用应用程序。选择:

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();

我通常在需要时使用范围来交换文本。尝试使用应用程序。选择:

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();