如果没有以下文本,Marco将删除Microsoft Word中的标题

时间:2015-12-17 11:53:19

标签: vba ms-word word-vba

我经常生成带有标题的Microsoft Word文档,这些标题并不总是包含文本。我需要一个宏来检查每个标题,如果下面没有文字,请删除标题。

标题的样式为“标题1”,“标题2”和“标题3”,以下文字的样式始终为“正常”。

有人能够建议使用宏来完成此任务,还是指出我正确的方向开始?

2 个答案:

答案 0 :(得分:1)

作为参考,编辑Manu的代码给了我这个:

Sub test()

Dim HeadingF As Range
Set HeadingF = ActiveDocument.Content

With HeadingF.Find
    .Style = "Heading 1"
    .Forward = True
    .Wrap = wdFindStop
End With

Do
    HeadingF.Find.Execute
    If HeadingF.Find.Found Then

        If HeadingF.Paragraphs(1).Next.Range.Style <> "Normal" Then

            HeadingF.Delete

         End If
    End If
Loop While HeadingF.Find.Found

End Sub

答案 1 :(得分:0)

试试这个:

Sub test()

Dim HeadingF As Range
    Set HeadingF = ActiveDocument.Content

    With HeadingF.Find
        .Style = "Heading 1"
        .Forward = True
        .Wrap = wdFindStop
    End With

    Do
        HeadingF.Find.Execute
        If HeadingF.Find.Found Then

            If HeadingF.Paragraphs(1).Next.Range.Text = vbCr Then

                HeadingF.Delete

             End If
        End If
    Loop While HeadingF.Find.Found

End Sub