View Single Post
  #3  
Old June 17th, 2009, 09:49 AM posted to microsoft.public.word.mailmerge.fields
Peter Jamieson
external usenet poster
 
Posts: 4,550
Default Using mail merge to distinguish colours in Word

I do not think you will be able to colour the textboxes using the
out-of-the-box merge facilities.

One way would be to post-process the output document using VBA, e.g.

Sub colourmytextboxes()
Dim shp As Word.Shape
With ActiveDocument
For Each shp In .Shapes
' only process Shapes that may have text..
If Not (shp.TextFrame Is Nothing) Then
' ..and do have text
If shp.TextFrame.HasText Then
Select Case UCase(Left(shp.TextFrame.TextRange.Text,
Len(shp.TextFrame.TextRange.Text) - 1))
Case "RED"
' or use RGB values
shp.Fill.ForeColor = vbRed
Case "GREEN"
shp.Fill.ForeColor = vbGreen
Case "BLUE"
shp.Fill.ForeColor = vbBlue
' etc.
Case Else
' do nothing
End Select
End If
End If
Next
End With
End Sub

If you are merging directly to email, you would have to do that using
the Word Mailmerge Events rather than postprocessing.


Peter Jamieson

http://tips.pjmsn.me.uk

ben_johnson1991 wrote:
I'm using a mail merge from Excel. I dont think this is possible but its
worth a try.
I want colours that are listened in excel to be able to represent a colour
of a text box in word.

example.
The title could be "Tree" and in the colour associated in the excel sheet
would be "Green", so in word when the mail merge is run to put "Tree" into a
text box and i would like somehow for word to recognise "green" and then make
that text box background colour green.

Any help would be great, even if its that it's not possible.
Thanks