I have a text content in MS Office Word 2007.
Assume something like the following :
Abcd Efgh .....
Now I wanna change the color of each A
in the content to red.
How can I do it in MS Office Word 2007 ?
Super User is a question and answer site for computer enthusiasts and power users. It only takes a minute to sign up.
Sign up to join this communityI have a text content in MS Office Word 2007.
Assume something like the following :
Abcd Efgh .....
Now I wanna change the color of each A
in the content to red.
How can I do it in MS Office Word 2007 ?
Easier way would be use Find and Replace and use the Advanced Options where you can format the font type, color and size and make sure to uncheck "Ignore Case" so you only get the "A" instead of all instances of "a" or "A".
Assuming you do not want to do this manually I beleive the primary way to automate this is to use Word's built-in Visual Basic for Applications programming language and write the script/code to search for the capital letter A and change its color.
Here is one way to do this by putting the code in the active Word Document. I tried this in Word 2010 so I am not 100% that it will work the same in Word 2007 but it probably will.
You have to enable Marcos for this code to run.
So In Word go to File Save As and choose "Word Macro-Enabled Document".
You then need to be able to use the Developer tools in Word so right-click on your ribbon bar and choose "Customize the Ribbon":
And Put a checkmark next to "Developer" and click "OK".
In the Word Document that you want to perform this magic in (the one you saved as a Macro-Enabled Word document) click on the newly visible Developer Tab and click on the "Visual Basic" button to open Visual Basic.
Visual Basic for Applications will open up. Under "Microsoft Word Object" double-click "ThisDocument" to add some code to this Word document.
In the Window that opens up, paste in the following Visual Basic Code:
Sub ChangeLetterColor()
' Enter the exact letter you want to globally search for in ThisDocument
' Case matters, "A" is not the same as "a"
Const LETTER_TO_CHANGE = "A"
' Enter one of the Word color Constant names to determine the color to change the letter to
' Example Word color constants are:
' wdBlack
' wdBlue
' wdBrightGreen
' wdDarkBlue
' wdDarkRed
' wdDarkYellow
' wdGray25
' wdGray50
' wdGreen
' wdPink
' wdRed
' wdTeal
' wdTurquoise
' wdViolet
' wdWhite
' wdYellow
Const COLOR_TO_CHANGE_TO = wdRed
For i = 1 To ThisDocument.Range.Characters.Count
If ThisDocument.Range.Characters(i) = LETTER_TO_CHANGE Then
ThisDocument.Range.Characters(i).Font.ColorIndex = COLOR_TO_CHANGE_TO
End If
Next
End Sub
Now, click on the "Run" button on the VBA Toolbar and switch back to your Word Document. The letter defined in the script should now have its font color changed.
Here are other sample scripts with similar goals. You can refer to them for more details.
https://stackoverflow.com/questions/2396825/how-can-i-loop-through-every-letter-in-ms-word-using-vba