Word 中的 VBA 样式段落

时间:2021-02-10 10:00:29

标签: excel vba ms-word

我正在尝试从 Excel 文档格式化 Word 文档。我要了

<块引用>

运行时错误 5941:请求的集合成员没有 存在。

我只是想将第二段的样式设置为 Normal 内置样式。我缺乏经验可能表明。问题似乎出在段落选择上,但我不完全确定如何去做。

Dim WordApp As Word.Application
Set WordApp = New Word.Application

WordApp.Documents.Add Template:="Normal", NewTemplate:=False, DocumentType:=0
WordApp.Visible = True

WordApp.Selection.TypeText ("New Document")

WordApp.Selection.Paragraphs(1).Style = wdStyleHeading1

WordApp.Selection.TypeText vbNewLine & "Date" & Date

WordApp.Selection.Paragraphs(2).Style = wdStyleNormal

End Sub

编辑:我现在试图找到在同一行上更改格式的最佳方法。例如:

日期:10/02/2021

问题是到目前为止我的样式更改适用于整个段落。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

更好:

Sub Demo()
Dim WdApp As New Word.Application, WdDoc As Word.Document
With WdApp
  .Visible = True
  Set WdDoc = .Documents.Add
  With WdDoc
    .Range.Text = "New Document" & vbCr & "Date: " & Date
    .Paragraphs(1).Style = wdStyleHeading1
  End With
End With
End Sub

注意没有代码来选择普通模板或将普通样式应用到第二个段落。那是因为默认模板是“Normal”,默认 Style 是“Normal”,因此指定那些不应该是普通的。如果您想要整个文档的特定默认样式,仅被标题等替换,请通过 '.Paragraphs(1).Style = ' before '.Range.Text = '.

答案 1 :(得分:0)

您想使用 ActiveDocument 而不是 Selection

WordApp.ActiveDocument.Paragraphs(2).Style = wdStyleNormal
相关问题