Попытался записать макрорекордером процедуру, которая изменяет цвет всего текста (не выделения, а именно текста) на синий (ну или любой другой). Но макрос оказался пустой, ничего не записывается. Помогите с этой проблемой пожалуйста.
Причем нужно поменять цвет текста в основной части документа и во всех сносках.
Макрос делает красный цвет шрифта.
Sub Макрос1()
'1. Цвет текста во всём файле.
ActiveDocument.Range.Font.TextColor.RGB = 255
'2. Цвет текста в обычных сносках (не концевых).
ActiveDocument.StoryRanges(wdFootnotesStory).Font.TextColor.RGB = 255
End Sub
Ещё логичнее изменять цвет шрифта у стилей, чтобы новый печатаемый текст имел нужный цвет, а также чтобы становился нужный цвет у текста, вставляемого из буфера обмена.
Это можно сделать вручную или с помощью макроса:
Sub Макрос2()
' Настройка цвета шрифта у стилей.
ActiveDocument.Styles("Обычный").Font.TextColor.RGB = 255
ActiveDocument.Styles("Знак сноски").Font.TextColor.RGB = 255
ActiveDocument.Styles("Текст сноски").Font.TextColor.RGB = 255
End Sub
Большое спасибо!
А подскажите пожалуйста еще, где найти цифры для всей палитры цветов для цвета текста.
В ворде, в файле примените к тексту нужный цвет, выделите текст с нужным цветом.
Затем перейдите в VBA - View - Immediate Window - используйте этот код:
print Selection.Range.Font.TextColor.RGB
и подставьте полученное число в макрос.
Также у объекта "TextColor" есть инструмент для работы с цветами темы (вкладка "Главная" - группа "Шрифт" - стрелка кнопки "Цвет шрифта" - Цвета темы):
Selection.Range.Font.TextColor.ObjectThemeColor
Если после "ObjectThemeColor" поставить знак равно, то можно выбрать нужный цвет темы.
В ворде темы выбираются здесь: вкладка "Дизайн" - группа "Форматирование документа". Здесь в трёх местах: Темы, галерея тем (это эскизы тем), Цвета.
Большое спасибо за подробный ответ!
У меня в 2007 офисе ошибка в этой строке, а в офисе 2010 нет ошибки. Почему так, подскажите пожалуйста!
Selection.Range.Font.TextColor.RGB
Если это особенность офиса 2007, то тогда как в нем изменить цвет у всего документа?
В каждой версии ворда есть особенности. В этом случае, в "Word 2010" свойство "Color" скрыто, но осталось работать. Вместо него, наверное, появилось свойство "TextColor".
Вот такие макросы работают во всех версиях ворда:
Sub Макрос1()
'1. Цвет текста во всём файле.
ActiveDocument.Range.Font.Color = 255
'2. Цвет текста в обычных сносках (не концевых).
ActiveDocument.StoryRanges(wdFootnotesStory).Font.Color = 255
End Sub
Sub Макрос2()
' Настройка цвета шрифта у стилей.
ActiveDocument.Styles("Обычный").Font.Color = 255
ActiveDocument.Styles("Знак сноски").Font.Color = 255
ActiveDocument.Styles("Текст сноски").Font.Color = 255
End Sub
Большое спасибо!
Скажите пожалуйста как установить синий цвет, если красный это = 255
Номер любого цвета вы можете так узнать.
В тексте документа выделите одну или несколько букв, примените нужный цвет, затем перейдите в VBA, отобразите область: View - Immediate Window, вставьте в эту область этот код и нажмите Enter:
print selection.Font.color