Удаление строки по найденному слову (Word)

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
Аватара пользователя
Busine2009
Сообщения: 322
Зарегистрирован: 18 июл 2009, 15:34
Контактная информация:

Вот этот макрос удаляет не все строки: после его применения - его надо повторно запускать. Что в коде не так?

Код: Выделить всё

Sub DeleteLine()
Dim DeleteLine As String
DeleteLine = InputBox("Введите слово для удаления строки", "Удаляем строки")
If DeleteLine = Empty Then Exit Sub
Application.ScreenUpdating = False
With ActiveDocument.Range.Find
    .ClearFormatting
    .Text = DeleteLine
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchWildcards = False
    .MatchSoundsLike = False
    .MatchAllWordForms = False
    While .Execute
        Selection.HomeKey Unit:=wdLine
        Selection.EndKey Unit:=wdLine, Extend:=wdExtend
        Selection.Delete
    Wend
End With
Application.ScreenUpdating = True
End Sub
Документ около 2 тыс. страниц. Строки остаются по всему документу мелкими скоплениями по 2-3.
Ответить