Word VBA: как удалить сноски без текста в самих сносках?

Автор Anton, 28 октября 2016, 13:43

Anton

Добрый день!
У меня в текстах часто встречаются сноски без текста в самих сносках.
Можно ли как-то автоматически удалить такие сноски? Пример приложил.

Администратор

Макрос
Sub Макрос()

    Dim FootsCount As Long, EndsCount As Long, i As Long
   
   
    '1. Отключение монитора.
    Application.ScreenUpdating = False
   
    '2. Удаление страчных сносок.
    For i = ActiveDocument.Footnotes.Count To 1 Step -1
        ' Если в тексте сноски пусто.
        If ActiveDocument.Footnotes(i).Range.text = "" Then
            ActiveDocument.Footnotes(i).Delete
            FootsCount = FootsCount + 1
        End If
    Next i
   
    '3. Цикл по концевым сноскам.
    For i = ActiveDocument.Endnotes.Count To 1 Step -1
        If ActiveDocument.Endnotes(i).Range.text = "" Then
            ActiveDocument.Endnotes(i).Delete
            EndsCount = EndsCount + 1
        End If
    Next i
   
    '4. Включение монитора.
    Application.ScreenUpdating = True
   
    '5. Сообщение.
    MsgBox "Удалено страничных ссылок: " & FootsCount & vbCr & _
        "Удалено концевых сносок: " & EndsCount, vbInformation
   
End Sub
[свернуть]