Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.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# Microsoft.Office.Interop.Word-覆盖当前文档中的文本,如何停止此操作?_C#_.net_Ms Word_Office Interop - Fatal编程技术网

C# Microsoft.Office.Interop.Word-覆盖当前文档中的文本,如何停止此操作?

C# Microsoft.Office.Interop.Word-覆盖当前文档中的文本,如何停止此操作?,c#,.net,ms-word,office-interop,C#,.net,Ms Word,Office Interop,我正在尝试向文档中添加文本,并对其进行适当的格式化 只要插入点后没有文本,它就会工作,但如果有文本,它就会覆盖它。为什么呢 这是我编写文本的代码。同样,如果后面什么都没有,这也行 // 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 "

我正在尝试向文档中添加文本,并对其进行适当的格式化

只要插入点后没有文本,它就会工作,但如果有文本,它就会覆盖它。为什么呢

这是我编写文本的代码。同样,如果后面什么都没有,这也行

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

如果要将说明置于与标题相同的级别:

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

Try:Application.Options.Overtype=false不起作用,但这是个好主意。当我想到它时,我之前找不到它。它正在覆盖文档中当前的内容,而不是要调试的标题和描述,不更新文本,只更改样式以标识修改的范围。您可以执行p.range.InsertParagraphAfter(),而不是在文本末尾添加CRLF;