Макрос MS Word - удаление абзацев - PullRequest
2 голосов
/ 06 мая 2009

Может кто-нибудь помочь мне с макросом MS Word, который будет искать определенный символ в каждом абзаце по всему документу и удалять абзацы, которые НЕ содержат этот символ.

Я практически ничего не знаю о VBA, но только что получил огромный и громоздкий документ, который мне нужно отредактировать очень быстро.

1 Ответ

3 голосов
/ 06 мая 2009

Вот быстрый макрос, который должен делать то, что вы хотите - используйте с осторожностью, и не забудьте сделать резервную копию!

Установите значение 'search' для текста, который вы ищете. Это очень грубо, и удалит абзац, если ваш текст не появляется где-то в нем.

Sub DeleteParagraphContainingString()

    Dim search As String
    search = "delete me"

    Dim para As Paragraph
    For Each para In ActiveDocument.Paragraphs

        Dim txt As String
        txt = para.Range.Text

        If Not InStr(LCase(txt), search) Then
            para.Range.Delete
        End If

    Next

End Sub

Я пробовал это в Office 2007. Немного страшно, но, похоже, работает!

...