View Single Post
  #6   Report Post  
Posted to microsoft.public.word.mailmerge.fields
macropod[_2_] macropod[_2_] is offline
external usenet poster
 
Posts: 2,059
Default How do I make mass format changes to mail merge fields?

Hi Jef,

You can do this without a macro. Simply:
.. open the mailmerge main document
.. press Alt-F9 to expose the field codes
.. Use Find/Replace with:
. 'MERGEFIELD *_Perc' for the 'Find' text
. '^& ^92# $,0.00' for the 'Replace' text
. 'Use wildcards' checked
.. press Alt-F9 again to hide the field codes
.. save the mailmerge main document
.. run your mailmerge.

You'll note that I've used '\# $,0.00' as the formatting switch, instead of '\# $#,###.00' as you proposed. The reason for doing
this is that your rendition of the switch pads all values of less than $1,000 with spaces after the '$' and could lead to '$0.50',
for example, being displayed as '$ .50' (ie no '0' before the cents).

--
Cheers
macropod
[MVP - Microsoft Word]


"Jef Bray" Jef wrote in message ...
I have several MS Word documents that contain a high concentration of merge
fields (each document has upwards of 80-150 merge fields).

As experienced mail-merge users already know, formatting is not retained
from the data source, so I am expected to provide formatting instructions via
merge field "switches" such as \# $#,###.00 right within the merge field code
itself. This is fine for documents with just a few fields to adjust, but I'm
looking at hundreds and hundreds of fields here.

My problem is that typing formatting switches into each individual merge
field, one at a time, is very labour-intensive for documents such as mine. Is
there a way to apply these switches en-masse or perform some sort of search &
replace, taking merge field code into account?

It just seems very odd to me that a mature product such as MS Word butchers
decimal numbers so horribly (e.g. 40.1 is expressed as either
40.09999999999999 or as 40.10000000000000000001) and provide no way of
formatting these, except individually & manually.

Thanks in advance for any help you can provide.

ps: I am using SQL Server as a datasource, not that this should matter. The
datatype of the fields in question is "float"