修改使用 InsertParagraphAfter() 添加的段落

本文关键字:添加 段落 InsertParagraphAfter 修改 | 更新日期: 2023-09-27 18:26:59

var p1 = document.Paragraphs.Add(ref o);
p1.Range.InsertParagraphAfter();

现在我想抓取刚刚使用 InsertParagraphAfter(( 创建的段落并对其进行修改。 如何访问它?

修改使用 InsertParagraphAfter() 添加的段落

InsertParagraphAfter应该扩展当前选择以包含新段落。 因此,如果首先在现有段落的末尾创建一个空选择,则在调用 InsertParagraphAfter 后,当前选择应设置为新段落。

请注意,我还没有测试过以下代码(我什至没有尝试编译它(,所以我可能离得很远。

var p1 = document.Paragraphs.Add(ref o);    
// Set the selection to the end of the paragraph.
document.Range(p1.Range.End, p1.Range.End).Select();
p1.Range.InsertParagraphAfter();
// InsertParagraphAfter should expand the active selection to include
// the newly inserted paragraph.
var newParagraph = document.Application.Selection;

您可以通过相对于第一段添加一个新段落来实现此目的:

Paragraph p1 = document.Paragraphs.Add(System.Reflection.Missing.Value);
p1.Range.Text = "Foo";
p1.Range.InsertParagraphAfter();
// Add new paragraph relative to first paragraph
Paragraph p2 = document.Paragraphs.Add(p1.Range);
p2.Range.Text = "Bar";
p2.Range.InsertParagraphAfter();
// Add new paragraph relative to the second paragraph
Paragraph p3 = document.Paragraphs.Add(p2.Range);
p3.Range.Text = "Baz";
我知道

这太老了,但无法抗拒。

这是工作解决方案(rng 是一个段落的范围(:

    rng.InsertParagraphAfter()
    If rng.Paragraphs(1).Next IsNot Nothing Then
        rng.Paragraphs(1).Next.Style = ActiveDocument.Styles(WdBuiltinStyle.wdStyleNormal)
    End If