首页 > 解决方案 > 使用 Document.Paragraphs.Add() 创建多个 Word 段落

问题描述

我在 Excel 中使用宏向 Word 文档添加信息。我正在尝试将 10 行添加到现有的 Word 文档中,如下所示:

Sub AddParagraphs()

    'Open Word
    Dim wordApp As Word.Application
    Set wordApp = CreateObject("Word.Application")

    'Open
    Dim doc As Word.document
    Set doc = wordApp.Documents.Open("c:\temp\document.docx")

    'Add 10 paragraphs
    Dim idx As Integer
    For idx = 1 To 10

        Dim paragraph As Word.paragraph
        Set paragraph = doc.Paragraphs.Add()

        paragraph.Range.style = wdStyleHeading2
        paragraph.Range.text = "Paragraph " & CStr(idx)

    Next

    doc.Save

    doc.Close
    wordApp.Quit

End Sub

我在 C:\temp\document.docs 有一个空的 Word 文档,但运行代码后只有一行带有文本“第 10 段”。我期待10行。

据我所知,没有参数的 Paragraphs.Add() 应该创建一个新段落。也许我错误地认为一个新段落会产生一个新行?是否有另一种方法可以在循环中添加 10 行,其中每行都可以具有特定(不相同)的样式?

标签: vbaexcelms-word

解决方案


您添加的“段落”末尾没有段落标记。

将该行更改为

paragraph.Range.Text = "Paragraph " & CStr(idx) & vbCr

那应该可以解决您的问题。


推荐阅读