Форум по VBA и MS Office

Word => Макросы в Word => Тема начата: Svetik от 02 мая 2017, 18:44

Название: Word Макрос: Как удалить пробелы (пустые абзацы) из сносок?
Отправлено: Svetik от 02 мая 2017, 18:44
Добрый вечер!
У меня есть файл, а там просто огромное количество страниц, в первой строке которых вместо сноски просто пустой абзац. Причем копируется ошибка вместе с текстом. Это можно исправить?

[вложение удалено администратором]
Название: Re: Word Макрос: Как удалить пробелы (пустые абзацы) из сносок?
Отправлено: Администратор от 02 мая 2017, 18:56
Макрос
Sub Макрос()

    '1. Отключение монитора.
    Application.ScreenUpdating = False

    '2. Удаление в страничных сносках.
    If ActiveDocument.Footnotes.Count <> 0 Then
        DelEmptyPars ActiveDocument.StoryRanges(wdFootnotesStory)
    End If
   
    '3. Удаление в концевых сносках.
    If ActiveDocument.Endnotes.Count <> 0 Then
        DelEmptyPars ActiveDocument.StoryRanges(wdEndnotesStory)
    End If
   
    '4. Вкл. монитора.
    Application.ScreenUpdating = True
   
    '5. Сообщение.
    MsgBox "Готово.", vbInformation

End Sub

Private Sub DelEmptyPars(rng As Range)
   
    ' Удаление пустых абзацев в сносках.
   
    Dim i As Long
   
    For i = rng.Paragraphs.Count To 1 Step -1
        If rng.Paragraphs(i).Range.Characters.Count = 1 Then
            rng.Paragraphs(i).Range.Delete
        End If
    Next i

End Sub
[свернуть]
Название: Re: Word Макрос: Как удалить пробелы (пустые абзацы) из сносок?
Отправлено: Svetik от 02 мая 2017, 19:02
Так быстро? Очень хорошо! Большое спасибо, исправила!