![]() |
|
#1
|
|||
|
|||
|
I've been making macros for years in Office. I can not even make a simple macro in Word 2013 that my office switched to!
I want to change some text color in some of my technical documents for clarity and or emphasis. I have followed (or at least I thought I did) the instructions on how to create a macro in Word. I want to be able to highlight a word or several words and change their color to Green and others to Blue and some to Red, for example. I realize that this would take 3 macros, one for each color.This is what I do in Excel for changing cell(s) background color Sub Green() ' Green Cell(s) ' Ctrl+Shift+G ' Macro edited 9/27/2008 by Steven Silvera With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .Color = 13434828 .TintAndShade = 0 .PatternTintAndShade = 0 End With End Sub I know the above is not appropriate for Word. Please let me know if you have a macro for Word that works similar |
|
#2
|
||||
|
||||
|
Are you trying to change the font colour, paragraph background colour, or the highlight colour? For highlighting possibilities, see:
https://www.msofficeforums.com/word-...html#post34948 https://www.msofficeforums.com/word-...html#post91282 https://www.msofficeforums.com/word-...html#post86501
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
|
#3
|
|||
|
|||
|
The font color
|
|
#4
|
||||
|
||||
|
For that you could use something based on:
Code:
Sub Demo()
Application.ScreenUpdating = False
Dim StrFnd As String, i As Long
With ActiveDocument.Range.Find
.ClearFormatting
.Replacement.ClearFormatting
.Replacement.Text = "^&"
.Forward = True
.Format = True
.Wrap = wdFindContinue
.MatchCase = True
.MatchWholeWord = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
StrFnd = "One,Two,Three"
For i = 0 To UBound(Split(StrFnd, ","))
.Text = Split(StrFnd, ",")(i)
.Replacement.Font.ColorIndex = wdBlue
.Execute Replace:=wdReplaceAll
Next
StrFnd = "Four,Five,Six"
For i = 0 To UBound(Split(StrFnd, ","))
.Text = Split(StrFnd, ",")(i)
.Replacement.Font.ColorIndex = wdRed
.Execute Replace:=wdReplaceAll
Next
StrFnd = "Seven,Eight,Nine,Ten"
For i = 0 To UBound(Split(StrFnd, ","))
.Text = Split(StrFnd, ",")(i)
.Replacement.Font.ColorIndex = wdGreen
.Execute Replace:=wdReplaceAll
Next
End With
Application.ScreenUpdating = True
End Sub
__________________
Cheers, Paul Edstein [Fmr MS MVP - Word] |
|
| Tags |
| macro |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Macro now fails in Word 2013 after working for more than a year; still works in 2007 | cyraxote | Word VBA | 10 | 09-05-2015 12:33 AM |
| Looking for Help to Create a Macro (Sort) | rsrasc | Word VBA | 5 | 04-16-2014 03:25 AM |
Macro works in Windows XP but not in Windows 7
|
Baldeagle | Word VBA | 3 | 09-30-2013 03:56 AM |
| macro works on windows, not on mac | iiiiifffff | Word VBA | 2 | 04-03-2013 12:42 PM |
Why it works but the macro is error in VB?
|
tinfanide | Excel Programming | 5 | 12-03-2011 12:53 AM |