The best and safest way to do this is to modify the data source in some way
so that instead of (or as well as) receiving a field with (e.g.) 123-45-6789
in it, you also receive 6789 and prepend that with XXX-XX- use that directly
where the SSN needs to be partially hidden.
How to do that depends on the data source (what is it?), but for example if
the SSN is stored as a string in Access, all you really need do is create a
query that creates a new column using something like right(ssnfield,4) and
use that as the data source for the merge. Prcisely how to do that depends
on how consistent the SSN format is - if it is invariably xxx-xx-xxxx then
it's straightforward.
Peter Jamieson
[
Most other methods require that you obscure the SSN in some way, and the
trouble with that is that it may look obscured in print and on screen, but
if you merge to new documents or to e-mail, the full SSN may be sitting
there as plain as day.
However, because the digits in fonts all have the same width (well, usually,
anyway) you might be able to use use something like
{ MERGEFIELD ssnfield }{ ADVANCE \l 70 } { ADVANCE \l 40 }XXX-XX-{
ADVANCE \r 30 }
where
a. all the {} are the special field braces you can insert using ctrl-F9
b. the characters between \l 70 } and { ADVANCE are block characters, e.g.
the Unicode FULL BLOCK character no. 0x2588 (hex 2588) that you can insert
using Insert|Symbol - select them and use Format|Font to apply White colour.
These are used to blank out the digits before "-5678" completely before
inserting the "XXX-XX-" mask.
c. you will need to adjust the font and size of the block characters, the
XXX-XX- "mask", and the numbers in the ADVANCE fields
You might also be able to do something using a nested EQ field, e.g.
{ EQ \o\al\({ MERGEFIELD ssnfield }, ,XXX-XX-)}
where the spaces between , , are also block characters coloured white, as
above, and you would need to adjust the sizes of everything to make it work.
But personally, I would avoid all methods that do anything like that for the
reason I've stated.
]