如何解决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 举报,一经查实,本站将立刻删除。