vba - 使用 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 行,其中每行都可以具有特定(不相同)的样式?
解决方案
您添加的“段落”末尾没有段落标记。
将该行更改为
paragraph.Range.Text = "Paragraph " & CStr(idx) & vbCr
那应该可以解决您的问题。
推荐阅读
- c# - 根据我从项目中删除的 dll 接收错误
- php - 如何使用 json_encode 在没有反斜杠的情况下回显值
- angular - 通过 RadDataForm 将数据推送到 Firestore
- ruby-on-rails-3 - Rspec;如何在体内包含参数
- python - 为什么python看不到quantumCircuit类qiskit的成员
- python - 如何使 Scikit-Learn GridSearchCV 知道自定义 Keras 损失函数?
- python - 我如何知道 hashlib.md5 是否支持“usedforsecurity”标志?
- amazon-web-services - Terraform filter_suffix 多个值
- c - 如何将两个向量相加并打印结果,这也是一个向量
- angularjs - 如何使用 $q.all 从 AngularJS 服务返回承诺