在标题中搜索单词,然后删除找到单词的标题



我想创建一个代码,在文档中的标题中搜索特定单词,并删除带有特定单词的标题以及与之相关的所有内容。

例如:

如果我要找的标题是"动物",而副标题是"猫"one_answers"狗",那么:

预宏

  1. 文本
  2. 动物
  3. 水果
    1. 樱桃
    2. 香蕉

后宏

  1. 文本
  2. 水果
    1. 樱桃
    2. 香蕉

感谢

您可以使用以下代码

Sub DeleteHeadingBlocks()
Application.ScreenUpdating = False
Dim Rng As Range, i As Long, ArrRls
ArrRls = Array("Animal", "Vegetable", "Mineral")
For i = 0 To UBound(ArrRls)
With ActiveDocument.Range
With .Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = ArrRls(i)
.Style = wdStyleHeading1
.Replacement.Text = ""
.Forward = True
.Format = True
.Wrap = wdFindStop
.MatchWildcards = False
.Execute
End With
Do While .Find.Found
Set Rng = .Paragraphs(1).Range
Set Rng = Rng.GoTo(What:=wdGoToBookmark, Name:="HeadingLevel")
Rng.Delete
.Find.Execute
Loop
End With
Next
Set Rng = Nothing
Application.ScreenUpdating = True
End Sub

按照编码,宏假设您使用的是"标题1"样式。宏使用的数组提供了三个术语("动物"、"蔬菜"one_answers"矿物"(;您可以删除/替换不需要的术语,也可以添加更多。

最新更新