Вы можете l oop через ваши флажки, передавая часть или весь текст каждого заголовка и уровень заголовка # в макрос, например следующий для каждого отмеченного флажка:
Sub DeleteHeadingSpanText(StrTxt As String, h As Long)
With ActiveDocument.Range
With .Find
.ClearFormatting
.Replacement.ClearFormatting
.Text = StrTxt
.Style = "Heading " & h
.Replacement.Text = ""
.Format = True
.Forward = True
.Wrap = wdFindContinue
.Execute
End With
If .Find.Found = True Then
.Duplicate.GoTo(What:=wdGoToBookmark, Name:="\HeadingLevel").Delete
End If
End With
End Sub
Например, предположим, что у вас есть заголовок 1, текст которого состоит из:
Lorem ipsum dolor sit amet.
Вы можете удалить все содержимое, связанное с этим заголовком, с помощью:
Sub Demo()
Call DeleteHeadingSpanText("ipsum dolor", 1)
End Sub
Обратите внимание, что требуется только часть строки заголовка. Также обратите внимание, что стили заголовков Word охватывают только заголовки от «Заголовок 1» до «Заголовок 9»; нет "Заголовка 11".