Статьи из блога
Макрос изменения цвета заглавных букв в тексте
На форуме ru-board.com интересовались, как написать макрос, который бы в выделенной области менял цвет всех заглавных букв текста на красный, а строчных на черный.
Вот небольшой макрос, который решает этот вопрос:
Sub colorCase3()
'Применение к первым заглавным буквам красного цвета, а к строчным - черного цвета
Dim fChar As Range
Dim selText As Range
Set selText = Selection.Range
If Selection.Type = wdSelectionIP Then
MsgBox "Не выделен текст"
Else
For Each fChar In selText.Words
fChar.Font.Color = wdColorBlack
If fChar.Characters.First Like "[A-ЯA-Z]" Then
fChar.Characters.First.Font.Color = wdColorRed
End If
Next fChar
End If
End Sub
Выделите текст и примените этот макрос.
Рубрика: Вопрос-Ответ, Макросы
Метки: макросы | регистр
Просмотров: 23691
Подписаться на комментарии по RSS
Версия для печати
Метки: макросы | регистр
Просмотров: 23691
Подписаться на комментарии по RSS
Версия для печати
Еще записи по вопросам использования Microsoft Word:
- 10 вопросов и ответов по редактору Word (1 часть)
- 3 способа очистки списка недавно открытых документов
- Word 2007: добавляем свою вкладку и свои команды
- Word 2007: полотно, рисунки, линии
- Word 2007: смена формата сохранения файла
- Word 97 - решение проблемы с отображением символов на линейке
- Абзац с цветным фоном
- Автоматизация текстового набора в Word
- Автоматическая запись макроса
- Автоматическая нумерация билетов
- Автоматическая расстановка переносов
- Автоматическое обновление полей при открытии документа
- Автоматическое сохранение документа при его закрытии
- Автотекст с последовательной нумерацией
- Белый текст на синем фоне в Word 2007
- Быстрая смена ориентации страниц документа
- Быстрое перемещение между открытыми документами Word
- Быстрое создание нового документа на основе шаблона
- Быстрый ввод текста с помощью команды =rand()
- Ввод повторяющихся фрагментов текста в Word 2007
- Ввод часто повторяющихся фрагментов текста
- Вертикальное выравнивание текста
- Возможно ли запретить копирование текста из документа Word?
- Вопрос о работе с графиками (диаграммами) в Word
- Вопросы и ответы о гиперссылках в редакторе Word

Форум
Читают
Обсуждают
страницы
сайты
статистика
Комментариев: 6
Sub colorAllBig() Dim fChar As Range Dim seltext As Range Dim i As Long Set seltext = Selection.Range If Selection.Type = wdSelectionIP Then MsgBox "А текст какой?" Else For Each fChar In seltext.Words For i = 1 To fChar.Characters.Count If fChar.Characters(i).Case = wdUpperCase Then fChar.Characters(i).Font.Color = wdColorRed Else fChar.Characters(i).Font.Color = wdColorBlack End If Next i Next fChar End If End SubОльга, спасибо. Все отлично работает.
Благодарю вас. Пригодится в работе.
а если необходимо изменить цвет текста в таблице ( к примеру .Tables(1) ) как это реализовать
пробовал .Tables(1).cell(1,1).range.font.color не работает. кто знает как это делается ?
Почему не работает? Все работает. Только что эту строку набрал в окне Immediate и получил зеленый цвет в первой ячейке.
Не могу удержаться, чтобы не предъявить на суд свой макрос. В отличие от предыдущих он работает намного быстрее за счет использования поиска и замены.
'Изменение цвета букв в зависимости от регистра. Sub RepaintLetters() If Selection.Type = wdNoSelection Then Exit Sub With Selection.Range.Find .ClearFormatting: .Replacement.ClearFormatting .Text = "[a-zа-яё]{1;}": .MatchWildcards = True .Replacement.Text = "^&": .Replacement.Font.Color = wdColorAutomatic .Execute Replace:=wdReplaceAll End With With Selection.Range.Find .ClearFormatting: .Replacement.ClearFormatting .Text = "[A-ZА-ЯЁ]{1;}": .MatchWildcards = True .Replacement.Text = "^&": .Replacement.Font.Color = wdColorAutomatic .Execute Replace:=wdReplaceAll End With End Sub