VBA在WORD应用中如何将格式应用于选定内容

本文介绍了如何使用VBA代码在Word文档中实现多种格式化操作,包括文本字体、段落对齐方式、间距调整等。此外,还提供了切换格式状态的方法。


下列示例使用 Selection 属性将字符和段落格式应用于选定文本。使用 Font 属性获得字体格式的属性和方法,使用 ParagraphFormat 属性获得段落格式的属性和方法。

Sub FormatSelection()
    With Selection.Font
        .Name = "Times New Roman"
        .Size = 14
        .AllCaps = True
    End With
    With Selection.ParagraphFormat
        .LeftIndent = InchesToPoints(0.5)
        .Space1
    End With
End Sub
将格式应用于某一区域
下列示例定义了一个 Range 对象,它引用了活动文档的前三个段落。通过应用 Font 和 ParagraphFormat 对象的属性来设置 Range 对象的格式。

Sub FormatRange()
    Dim rngFormat As Range
    Set rngFormat = ActiveDocument.Range( _
        Start:=ActiveDocument.Paragraphs(1).Range.Start, _
        End:=ActiveDocument.Paragraphs(3).Range.End)
    With rngFormat
        .Font.Name = "Arial"
        .ParagraphFormat.Alignment = wdAlignParagraphJustify
    End With
End Sub
插入文字并应用字符和段落格式
下列示例在当前文档的上部添加单词 Title。第一段居中对齐,并在该段落之后添加半英寸的间距。将单词 Title 的格式设为 24 磅 Arial 字体。

Sub InsertFormatText()
    Dim rngFormat As Range
    Set rngFormat = ActiveDocument.Range(Start:=0, End:=0)
    With rngFormat
        .InsertAfter Text:="Title"
        .InsertParagraphAfter
        With .Font
            .Name = "Tahoma"
            .Size = 24
            .Bold = True
        End With
    End With
    With ActiveDocument.Paragraphs(1)
        .Alignment = wdAlignParagraphCenter
        .SpaceAfter = InchesToPoints(0.5)
    End With
End Sub
在 12 磅和无之间切换段前间距
下列示例切换选定内容中第一段的段前间距。宏将获取当前段前间距的值,如果该值为 12 磅,则删除段前间距格式(将 SpaceBefore 属性设为零)。如果段前间距的值为除 12 外的其它数值,则将 SpaceBefore 属性设为 12 磅。

Sub ToggleParagraphSpace()
    With Selection.Paragraphs(1)
        If .SpaceBefore <> 0 Then
            .SpaceBefore = 0
        Else
            .SpaceBefore = 6
        End If
    End With
End Sub
切换加粗格式
下列示例切换选定文本的加粗格式。

Sub ToggleBold()
    Selection.Font.Bold = wdToggle
End Sub
将左边距增加 0.5 英寸
下列示例将左边距和右边距增加 0.5 英寸。PageSetup 对象包含文档的所有的页面设置属性(左边距、下边距、纸张大小等)。LeftMargin 属性用于返回和设置左边距设置。RightMargin 属性用于返回和设置右边距设置。

Sub FormatMargins()
    With ActiveDocument.PageSetup
        .LeftMargin = .LeftMargin + InchesToPoints(0.5)
        .RightMargin = .RightMargin + InchesToPoints(0.5)
    End With
End Sub

转载于:https://www.cnblogs.com/cddaishi/p/7521821.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值