首页 > 解决方案 > 如何在文档中修改和应用特定段落的样式?

问题描述

我有不同样式的word文档,如heading1、heading2、normal、bodytext等。我正在尝试编写一个VBA宏,它将首先根据要求修改样式,然后相应地在文档中应用这些样式。见下文,我首先更改 style=normal 和 heding1 的字体大小,然后想将其应用于已定义 style=normal 的所有段落。因此它将分别更新现有标题1和正常的样式。

注意:我只想用样式来做。我可以使用 for 循环来逐个遍历每个段落,然后找到该段落的样式,然后相应地应用样式,如果我这样做,它工作得很好,但在我的文档中,我有 60000 个段落和所以需要很长时间,比如 10 个小时。所以,我正在寻找一种方法来一次完成每种不同的风格。请让我知道是否有任何方法可以做到这一点。

ActiveDocument.Styles(wdStyleNormal).Font.Name = "Arial"
ActiveDocument.Styles(wdStyleNormal).Font.Size = 12

ActiveDocument.Styles(wdStyleHeading1).Font.Name = "Arial"
ActiveDocument.Styles(wdStyleHeading1).Font.Size = 20

ActiveDocument.UpdateStyles

标签: excelvba

解决方案


我已经尝试过并最终得到了这个解决方案。我希望它对你有用。

Sub ChangeStyle()
    With ActiveDocument.Styles("wdStyleNormal").Font
        .Color = wdColorAqua 'wdColorRed
        .Name = "Arial"
        .Size = 12
    End With
    With ActiveDocument.Styles("wdStyleNormal")
        .AutomaticallyUpdate = True
    End With
End Sub

推荐阅读