微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Word 中的 VBA 样式段落

如何解决Word 中的 VBA 样式段落

我正在尝试从 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

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

解决方法

更好:

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 = '.

,

您想使用 ActiveDocument 而不是 Selection

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。