繁体   English   中英

VBA Word 中的段落样式

[英]VBA Styling Paragraphs in Word

我正在尝试从 Excel 文档格式化 Word 文档。 我正进入(状态

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

我只是想将第二段的样式设置为 Normal 内置样式。 我缺乏经验可能表明。 问题似乎与段落选择有关,但我不完全确定如何 go 关于它。

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

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

日期: 2021 年 10 月 2 日

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

更好的是:

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

注意没有代码到 select 的 Normal 模板或将 Normal Style 应用到第 2 段。 这是因为默认模板是“Normal”,默认样式是“Normal”,因此指定这些通常不是必需的。 如果您希望整个文档具有特定的默认样式,仅由标题等替换,请在 '.Range.Text = '之前通过'.Paragraphs(1).Style = ' 应用它。

您想使用ActiveDocument而不是Selection

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM