Выбрать / удалить заголовок и контент на основе флажка в форме пользователя - PullRequest
0 голосов
/ 05 мая 2020

У меня есть пользовательская форма, которая содержит девять флажков, каждый из которых соответствует заголовку уровня структуры 1 (стиль Heading11) в документе.

Я хочу иметь возможность отмечать любое количество этих флажков и выбирать заголовок (ы) и текст в этом «разделе» / до следующего заголовка 11, который будет удален из документа.

Например, если я отмечу флажком CbxISR и CbxPPL, в документе будет выполняться поиск текста заголовка 11 «Специальное промышленное Риск »и« Опубликовать c Ответственность ».

Я попытался адаптировать код, найденный в ЭТОМ потоке, который использует метод .Find, но специально c для поиск только одного неизменяемого текстового значения.

Как работать с отмеченными флажками?

Ответы [ 2 ]

0 голосов
/ 15 мая 2020

В итоге я использовал приведенный ниже код, который отлично работает. Думал, что поделюсь им на случай, если кто-то еще с этим не справится!

0 голосов
/ 05 мая 2020

Вы можете 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".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...