在指定样式的非空白段落前插入分页型分节符

上一篇文章在文档中所有页面的页眉添加节标题并且链接到自动生成的目录,其中要求在所有样式为“标题 1”的段落前插入分页型分节符,如果碰上没有这样做的文章怎么办?可以用以下代码一次性插入:

Sub 在指定样式的非空白段落前插入分页型分节符()
    Dim pos%, styleName$
    styleName = "标题 1"
    
    With Selection
        .HomeKey wdStory '光标回到文档开头,此时Selection.Start为0
        Do
            
            If .Paragraphs(1).Style = styleName And _
                    Len(Trim(.Paragraphs(1).Range.Text)) > 1 Then
                .InsertBreak Type:=wdSectionBreakNextPage
            End If
            pos = .Start '先记录光标位置
            .GoTo wdGoToHeading, wdGoToNext, 1 '向后移动到下一个标题,以标题为对象遍历文档
            If .Start = pos Then Exit Do
        Loop
    End With

End Sub

下面是VBA中常用光标操作汇总:

    '移动光标至当前行首
    Selection.HomeKey unit:=wdLine

    '移动光标至当前行尾
    Selection.EndKey unit:=wdLine

    '选择从光标至当前行首的内容
    Selection.HomeKey unit:=wdLine, Extend:=wdExtend

    '选择从光标至当前行尾的内容
    Selection.EndKey unit:=wdLine, Extend:=wdExtend

    '选择当前行
    Selection.HomeKey unit:=wdLine
    Selection.EndKey unit:=wdLine, Extend:=wdExtend

    '移动光标至文档开始
    Selection.HomeKey unit:=wdStory

    '移动光标至文档结尾
    Selection.EndKey unit:=wdStory

    '选择从光标至文档开始的内容
    Selection.HomeKey unit:=wdStory, Extend:=wdExtend

    '选择从光标至文档结尾的内容
    Selection.EndKey unit:=wdStory, Extend:=wdExtend

    '选择文档全部内容
    Selection.WholeStory

    '移动光标至当前段落的开始
    Selection.MoveUp unit:=wdParagraph

    '移动光标至当前段落的结尾
    Selection.MoveDown unit:=wdParagraph

    '选择从光标至当前段落开始的内容
    Selection.MoveUp unit:=wdParagraph, Extend:=wdExtend


    '选择从光标至当前段落结尾的内容
    Selection.MoveDown unit:=wdParagraph, Extend:=wdExtend


    '选择光标所在段落的内容
    Selection.MoveUp unit:=wdParagraph
    Selection.MoveDown unit:=wdParagraph, Extend:=wdExtend

    '显示选择区的开始与结束的位置,注意:文档第1个字符的位置是0
    MsgBox ("第" & Selection.Start & "个字符至第" & Selection.End & "个字符")

    '删除当前行
    Selection.HomeKey unit:=wdLine
    Selection.EndKey unit:=wdLine, Extend:=wdExtend
    Selection.Delete

    '删除当前段落
    Selection.MoveUp unit:=wdParagraph
    Selection.MoveDown unit:=wdParagraph, Extend:=wdExtend
    Selection.Delete

    '删除当前段落的另一种看来更简洁的方法
    Selection.Paragraphs(1).Range.Delete

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yivifu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值