If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Display Modes |
|
#1
|
|||
|
|||
Random letter colors?
Is there any way to get Word to change each letter in a selection of
text to a random color? I am writing some Santa letters to some kids in a playful font and I would like to print them in color. I guess I could write a little macro. -- Running Word 2000 SP-3 on Windows 2000 |
#2
|
|||
|
|||
Random letter colors?
On Fri, 23 Dec 2005 16:34:09 -0800, LurfysMa
wrote: Is there any way to get Word to change each letter in a selection of text to a random color? I am writing some Santa letters to some kids in a playful font and I would like to print them in color. I guess I could write a little macro. You could write a little macro, but you might find a little wrinkle that needs to be worked out. Yellow and white characters don't print very well. g Try this: Sub RandomColors() Dim oCh As Range Dim myColor As Word.WdColorIndex Randomize For Each oCh In ActiveDocument.Characters Do ' get a random color that isn't white or yellow myColor = 14 * Rnd() + 1 Loop Until (myColor wdWhite) And (myColor wdYellow) oCh.Font.ColorIndex = myColor Next oCh End Sub -- Regards, Jay Freedman Microsoft Word MVP FAQ: http://word.mvps.org Email cannot be acknowledged; please post all follow-ups to the newsgroup so all may benefit. |
#3
|
|||
|
|||
Random letter colors?
On Fri, 23 Dec 2005 21:55:57 -0500, Jay Freedman
wrote: On Fri, 23 Dec 2005 16:34:09 -0800, LurfysMa wrote: Is there any way to get Word to change each letter in a selection of text to a random color? I am writing some Santa letters to some kids in a playful font and I would like to print them in color. I guess I could write a little macro. You could write a little macro, but you might find a little wrinkle that needs to be worked out. Yellow and white characters don't print very well. g Try this: Sub RandomColors() Dim oCh As Range Dim myColor As Word.WdColorIndex Randomize For Each oCh In ActiveDocument.Characters Do ' get a random color that isn't white or yellow myColor = 14 * Rnd() + 1 Loop Until (myColor wdWhite) And (myColor wdYellow) oCh.Font.ColorIndex = myColor Next oCh End Sub Wow. That is slick. I had a much more complicated macro going. Can I ask you to tweak it so that it (a) Only works on the currently selected text, and (b) Only uses a predefined list of colors (red, green, blue, for example)? Thanks -- Running Word 2000 SP-3 on Windows 2000 |
#4
|
|||
|
|||
Random letter colors?
Hi LurfysMa,
Can I ask you to tweak it so that it (a) Only works on the currently selected text, and Easy: change ActiveDocument to Selection. (b) Only uses a predefined list of colors (red, green, blue, for example)? One possibility is a Select Case, but for the heck of it, I used Switch: Sub RandomColors() Dim oCh As Range Dim myColor As Word.WdColorIndex Randomize For Each oCh In Selection.Characters myColor = Int(3 * Rnd()) oCh.Font.ColorIndex = _ Switch(myColor = 0, wdBlue, _ myColor = 1, wdRed, _ myColor = 2, wdGreen) Next oCh End Sub Regards, Klaus "LurfysMa" schrieb im Newsbeitrag ... On Fri, 23 Dec 2005 21:55:57 -0500, Jay Freedman wrote: On Fri, 23 Dec 2005 16:34:09 -0800, LurfysMa wrote: Is there any way to get Word to change each letter in a selection of text to a random color? I am writing some Santa letters to some kids in a playful font and I would like to print them in color. I guess I could write a little macro. You could write a little macro, but you might find a little wrinkle that needs to be worked out. Yellow and white characters don't print very well. g Try this: Sub RandomColors() Dim oCh As Range Dim myColor As Word.WdColorIndex Randomize For Each oCh In ActiveDocument.Characters Do ' get a random color that isn't white or yellow myColor = 14 * Rnd() + 1 Loop Until (myColor wdWhite) And (myColor wdYellow) oCh.Font.ColorIndex = myColor Next oCh End Sub Wow. That is slick. I had a much more complicated macro going. Can I ask you to tweak it so that it (a) Only works on the currently selected text, and (b) Only uses a predefined list of colors (red, green, blue, for example)? Thanks -- Running Word 2000 SP-3 on Windows 2000 |
#5
|
|||
|
|||
Random letter colors?
Another possibility is the inverse of Jay's code
Sub RandomColors() Dim oCh As Range Dim myColor As Word.WdColorIndex Randomize For Each oCh In Selection.Characters Do myColor = 14 * Rnd() + 1 Loop Until (myColor = wdBlue) Or (myColor = wdRed) Or (myColor = wdGreen) oCh.Font.ColorIndex = myColor Next oCh End Sub -- Graham Mayor - Word MVP My web site www.gmayor.com Word MVP web site http://word.mvps.org Klaus Linke wrote: Hi LurfysMa, Can I ask you to tweak it so that it (a) Only works on the currently selected text, and Easy: change ActiveDocument to Selection. (b) Only uses a predefined list of colors (red, green, blue, for example)? One possibility is a Select Case, but for the heck of it, I used Switch: Sub RandomColors() Dim oCh As Range Dim myColor As Word.WdColorIndex Randomize For Each oCh In Selection.Characters myColor = Int(3 * Rnd()) oCh.Font.ColorIndex = _ Switch(myColor = 0, wdBlue, _ myColor = 1, wdRed, _ myColor = 2, wdGreen) Next oCh End Sub Regards, Klaus "LurfysMa" schrieb im Newsbeitrag ... On Fri, 23 Dec 2005 21:55:57 -0500, Jay Freedman wrote: On Fri, 23 Dec 2005 16:34:09 -0800, LurfysMa wrote: Is there any way to get Word to change each letter in a selection of text to a random color? I am writing some Santa letters to some kids in a playful font and I would like to print them in color. I guess I could write a little macro. You could write a little macro, but you might find a little wrinkle that needs to be worked out. Yellow and white characters don't print very well. g Try this: Sub RandomColors() Dim oCh As Range Dim myColor As Word.WdColorIndex Randomize For Each oCh In ActiveDocument.Characters Do ' get a random color that isn't white or yellow myColor = 14 * Rnd() + 1 Loop Until (myColor wdWhite) And (myColor wdYellow) oCh.Font.ColorIndex = myColor Next oCh End Sub Wow. That is slick. I had a much more complicated macro going. Can I ask you to tweak it so that it (a) Only works on the currently selected text, and (b) Only uses a predefined list of colors (red, green, blue, for example)? Thanks -- Running Word 2000 SP-3 on Windows 2000 |
#6
|
|||
|
|||
Random letter colors?
On Sat, 24 Dec 2005 16:08:20 +0200, "Graham Mayor"
wrote: Another possibility is the inverse of Jay's code Sub RandomColors() Dim oCh As Range Dim myColor As Word.WdColorIndex Randomize For Each oCh In Selection.Characters Do myColor = 14 * Rnd() + 1 Loop Until (myColor = wdBlue) Or (myColor = wdRed) Or (myColor = wdGreen) oCh.Font.ColorIndex = myColor Next oCh End Sub I was thinking of defining an array to hold the desired list of colors. I'll have to figure out what the numbers are for red and green (for Christmas letters). Then I could either select them randomly or cycle through them. I'll play with these variations. Thanks -- Running Word 2000 SP-3 on Windows 2000 |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
VBA "Rnd" Function: Truly Random? | TheRobsterUK | General Discussion | 2 | September 27th, 2005 04:50 AM |
word replaced or letter changed removes the next letter word?? | word replacement? | Running & Setting Up Queries | 1 | May 4th, 2005 03:39 AM |
Make a hidden phrase appear, letter by letter, in random order | Jimmy G | Powerpoint | 5 | April 29th, 2005 07:52 PM |
Random alpha generator | bj | Worksheet Functions | 3 | April 27th, 2005 11:02 PM |
New Letter to Contact | Gary | Contacts | 1 | July 23rd, 2004 02:36 PM |