A Microsoft Office (Excel, Word) forum. OfficeFrustration

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.

Go Back   Home » OfficeFrustration forum » Microsoft Word » New Users
Site Map Home Register Authors List Search Today's Posts Mark Forums Read  

Random letter colors?



 
 
Thread Tools Display Modes
  #1  
Old December 24th, 2005, 12:34 AM posted to microsoft.public.word.newusers
external usenet poster
 
Posts: n/a
Default 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  
Old December 24th, 2005, 02:55 AM posted to microsoft.public.word.newusers
external usenet poster
 
Posts: n/a
Default 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  
Old December 24th, 2005, 07:15 AM posted to microsoft.public.word.newusers
external usenet poster
 
Posts: n/a
Default 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  
Old December 24th, 2005, 11:45 AM posted to microsoft.public.word.newusers
external usenet poster
 
Posts: n/a
Default 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  
Old December 24th, 2005, 02:08 PM posted to microsoft.public.word.newusers
external usenet poster
 
Posts: n/a
Default 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  
Old December 24th, 2005, 03:41 PM posted to microsoft.public.word.newusers
external usenet poster
 
Posts: n/a
Default 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

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump

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


All times are GMT +1. The time now is 09:08 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 OfficeFrustration.
The comments are property of their posters.