给word公文中的二级标题批量加粗方法介绍(通配符替换法和VBA编程)

       一、问题背景

        今天领导给了一个任务,一个若干页的公文,批量把里面的二级标题加粗。

         二、解决思路

        一是手动选中、加粗。二是通过正则选中加粗。三是通过VBA程序加粗。

        三、具体实现

        1.手动加粗,略。

        2.正则加粗。

        查找内容:(([一二三四五六七八九十]{1,})?{1,}。)

        

         简单说一下,查找的内容分为了5段,第一段是左括号,第二段是括号里的中文数字,第三段是右括号,第四段任意字符,第五段是句号。注意,第一段和第3段是中文的括号,而最外层的括号是英文的括号,即整个表达式是包在一对英文括号里面。

        ctrl+H,打开查找和替换对话框,按下图操作。在①处填写上面的字符串;在②处写“\1”,表示①处的通配符匹配到的内容本身,即不替换内容,只是把内容加粗;点击“更多”或“更少”,并在④处勾选“使用通配符”。 最后点击替换,即可。

        

         3.使用VBA代码      

Sub subTitleBold()
'20230506
'公文,把二级标题加粗,如“(二)某某加强政治学习”,最多可处理“(九十九)”
    On Error Resume Next
    Dim i As Integer, paph As Paragraph, str As String
    For Each p In ActiveDocument.Paragraphs
        str = p.Range.Text
        i = InStr(1, str, "。")
        If i And Left(str, 1) = "(" And (Mid(str, 3, 1) = ")" Or Mid(str, 4, 1) = ")" Or Mid(str, 5, 1) = ")") Then
            ActiveDocument.Range(p.Range.Start, p.Range.Start + i).Font.Bold = True
        End If
    Next
End Sub

        上面的代码只能处理手动编号。如果是自动编号,需要修改把ActiveDocument.Paragraphs修改为ActiveDocument.ListParagraphs,并且在定义新编号格式对话框中,把编号字体加粗。如下图所示:

        

        记录分享,利人利己。欢迎各位高手留言指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值