VBA 设置WORD 各级别大纲的字体代码

文章介绍了三个VBA宏,用于Word文档中不同级别大纲标题(1-5级)的字体设置,包括TimesNewRoman和SimHei字体,动态调整字号,以及居中或左对齐的段落格式。还展示了如何优化代码以统一设置正文样式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、通用设置(自己可以修改大纲级别 本段代码适用于:大纲级别的字体逐步变小的情况)

Sub FormatOutlineLevels()
    Dim i As Integer

    ' 遍历1到5级大纲
    For i = 1 To 5
        With ActiveDocument.Styles("Heading " & i).Font
            .Name = "Times New Roman" ' 设置字体
            .Size = 12 + (5 - i) * 2 ' 设置字体大小,级别越高,字体越大
            .Bold = True ' 设置为粗体
        End With

        ' 设置对齐方式,第1级居中,其余左对齐
        If i = 1 Then
            ActiveDocument.Styles("Heading " & i).ParagraphFormat.Alignment = wdAlignParagraphCenter
        Else
            ActiveDocument.Styles("Heading " & i).ParagraphFormat.Alignment = wdAlignParagraphLeft
        End If
    Next i
End Sub

这段代码的作用是:

  • 遍历1到5级的大纲标题。
  • 对每个级别设置'Times New Roman'字体。
  • 字体大小设置为基于级别的动态值(例如,第1级为最大,第5级为最小)。
  • 第1级标题居中对齐,其余级别左对齐。

2、本段适用于123级大纲级别标题分别设置字体,其余和正文字体一样设置

Sub FormatOutlineLevelsOptimized()
    ' 设置一级大纲
    With ActiveDocument.Styles("Heading 1").Font
        .Name = "SimHei" ' 黑体
        .Size = 15 ' 15号
    End With

    ' 设置二级大纲
    With ActiveDocument.Styles("Heading 2").Font
        .Name = "SimHei" ' 黑体
        .Size = 14 ' 14号
    End With

    ' 设置三级大纲
    With ActiveDocument.Styles("Heading 3").Font
        .Name = "SimHei" ' 黑体
        .Size = 12 ' 12号
    End With

    ' 设置四级和五级大纲
    Dim i As Integer
    For i = 4 To 5
        With ActiveDocument.Styles("Heading " & i).Font
            .Name = "SimHei" ' 黑体
            .Size = 12 ' 12号
        End With
    Next i

    ' 设置正文样式
    With ActiveDocument.Styles("Normal").Font
        .Name = "SimHei" ' 黑体
        .Size = 12 ' 12号
    End With
End Sub

这段代码将:

  • 将一级大纲设置为15号黑体字体。
  • 将二级大纲设置为14号黑体字体。
  • 将三级大纲设置为12号黑体字体。
  • 将四级和五级大纲设置为12号黑体字体。
  • 将正文的默认样式(Normal)设置为12号黑体字体。

3、本段在上一段上加了优化

因为有时候全文设置好字体后,需要单独对标题进行设置

Sub FormatAndAlignOutlineLevels()
    ' 设置一级大纲
    With ActiveDocument.Styles("Heading 1")
        With .Font
            .Name = "SimHei" ' 黑体
            .Size = 15 ' 15号
        End With
        .ParagraphFormat.Alignment = wdAlignParagraphLeft ' 居左对齐
    End With

    ' 设置二级大纲
    With ActiveDocument.Styles("Heading 2")
        With .Font
            .Name = "SimHei" ' 黑体
            .Size = 14 ' 14号
        End With
        .ParagraphFormat.Alignment = wdAlignParagraphLeft ' 居左对齐
    End With

    ' 设置三级大纲
    With ActiveDocument.Styles("Heading 3")
        With .Font
            .Name = "SimHei" ' 黑体
            .Size = 12 ' 12号
        End With
        .ParagraphFormat.Alignment = wdAlignParagraphLeft ' 居左对齐
    End With

    ' 设置四级和五级大纲
    Dim i As Integer
    For i = 4 To 5
        With ActiveDocument.Styles("Heading " & i)
            With .Font
                .Name = "SimHei" ' 黑体
                .Size = 12 ' 12号
            End With
            .ParagraphFormat.Alignment = wdAlignParagraphLeft ' 居左对齐
        End With
    Next i

    ' 设置正文样式
    With ActiveDocument.Styles("Normal")
        With .Font
            .Name = "SimHei" ' 黑体
            .Size = 12 ' 12号
        End With
        .ParagraphFormat.Alignment = wdAlignParagraphLeft ' 居左对齐
    End With
End Sub

这个优化后的代码将确保所有的大纲级别(1到5级)以及正文样式都设置为黑体字体,相应的字号,并且所有段落都居左对齐。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值