2015-07-01 62 views
-1

我想将文本添加到文档并进行适当格式化。Microsoft.Office.Interop.Word - 覆盖当前文档中的文本,如何阻止它?

只要在插入点后面没有文本,它就会工作,但如果存在,则会覆盖它。这是为什么?

这是我写代码的代码。再说一遍,如果之后没有任何东西,它就会有效。

// Header 
var p = p2.Range.Paragraphs.Add(); 
var x = p.Range.Paragraphs.Count; 
p.Range.Text = String.Format(headerText + "\r\n"); 
p.Range.set_Style("Req Level " + layerNumber.ToString() + " - Body"); 

// Description 
p2 = p.Range.Paragraphs.Add(); 
p2.Range.Text = String.Format(bodyText + "\r\n"); 
p2.Range.set_Style("Req Level " + layerNumber.ToString()); 
+1

尝试:Application.Options.Overtype =假 – Graffito

+0

没有工作,好主意,但。当我想到这一点时,我无法找到它。 – Zarocross

回答

0

如果你想放的描述在同一水平头:

var pp = p2.Range.Paragraphs.Add(); 
    pp.Range.Text = String.Format(bodyText + "\r\n"); 
    pp.Range.set_Style("Req Level " + layerNumber.ToString()); 
+0

它覆盖文档中当前的内容,而不是标题和描述 – Zarocross

+0

要进行调试,请不要更新文本,只需更改样式以标识修改后的范围。 – Graffito

+0

而不是在文本结尾处添加CRLF,您可以执行p.Range.InsertParagraphAfter(); – Graffito