Word VBA: Изменить шрифт в списках

Автор Anton, 28 сентября 2017, 13:09

Anton

Добрый день!
Который раз попадаются нумерованные списки, у которых шрифт отличается от основного текста (в примере 14, а текст - 16). Можно ли макросом поправить размер и тип шрифта во всех списках документа, приняв за образец параметры первого символа текста в списке. Пример приложил.

[вложение удалено администратором]

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

Макрос
Sub Макрос()
   
    Dim list As list
   
    '1. Отключение монитора (может это ускорит макрос и не будет мерцать).
    Application.ScreenUpdating = False
   
    '2. Изменение шрифта у маркеров списка.
    For Each list In ActiveDocument.Lists
        list.ListParagraphs(1).SelectNumber
        Selection.Font.Size = list.ListParagraphs(1).Range.Characters(1).Font.Size
        Selection.Font.Name = list.ListParagraphs(1).Range.Characters(1).Font.Name
    Next list
   
    '3. Вкл. монитора.
    Application.ScreenUpdating = True
   
    '4. Сообщение.
    MsgBox "Готово.", vbExclamation
   
End Sub
[свернуть]

Anton

Большое спасибо! Все получилось!

Anton

Попался мне документ с тестами для студентов, там около 1800 списков. Word при запуске макроса ругается, говорит на строчке
Selection.Font.Size = list.ListParagraphs(1).Range.Characters(1).Font.Size
что недостаточно памяти.

Так и должно быть или у меня с документом опять что-то не то?

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

Не знаю, почему так. Нужно смотреть файл.