Word VBA Макросы: Изменить размер шрифта как в Word.

Автор Anton, 22 мая 2017, 10:12

Anton

Изменяю размер шрифта выделенного текста на 0.5 так:
Selection.Font.Size = Selection.Font.Size + 0.5
Но если в выделенном фрагменте есть шрифт разного размера - происходит ошибка.

В самом Word есть такие кнопки быстрого изменения размера на 1 пт, но ошибка не происходит.

Эта проблема решаема?

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

Могу предложить такие варианты. На больших фрагментах будет медленно работать.

Если разный шрифт может быть у слов:
Макрос
Sub Макрос()
    Dim word As Range
    Application.ScreenUpdating = False
    For Each word In Selection.Words
        word.Font.Size = word.Font.Size + 0.5
    Next word
    Application.ScreenUpdating = True
End Sub
[свернуть]

Если разный шрифт может быть у символов внутри слова:
Макрос
Sub Макрос()
    Dim char As Range
    Application.ScreenUpdating = False
    For Each char In Selection.Characters
        char.Font.Size = char.Font.Size + 0.5
    Next char
    Application.ScreenUpdating = True
End Sub
[свернуть]

Anton

Обычно приходится работать с небольшими фрагментами, буду использовать.
Большое спасибо!