Word Макрос: Закрасить абзац в случае запрета в нем переносов

Автор Anton, 01 июня 2017, 15:50

Anton

Добрый день!
Могу я попросить Вас написать макрос?
Если есть запрет переносов в абзаце, то его закрасить светло-серым, к примеру.
Уж очень удобно и наглядно будет.

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

Запрет переносов как делается в ворде без макросов? Куда надо щёлкать?

Anton

Главная - абзац - положение на странице - запретить автоматический перенос слов

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

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

    Dim par As Paragraph
   
   
    '1. Отключение монитора (может это ускорит макрос и не будет мерцать).
    Application.ScreenUpdating = False
   
    '2. Цикл по всем абзацам в основной части файла.
    For Each par In ActiveDocument.Paragraphs
        If par.Hyphenation = False Then
            par.Range.Shading.BackgroundPatternColor = -603923969
        End If
    Next par
   
    '3. Включение монитора.
    Application.ScreenUpdating = True
   
    '4. Сообщение.
    MsgBox "Готово.", vbInformation

End Sub
[свернуть]


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

Если макрос будет долго работать, то можно попробовать использовать "Find".

Anton

На большом тексте (~300 с.) работает у меня несколько секунд. Я думаю, это хороший результат, спасибо.