To specify the display text, things are complicated because there is no
"switch"
in the HYPERLINK field that lets you specify the display text.
You may be able to do the merge using VBA and "Word Events", e.g. as follows
(I haven't tested this recently). Nasty, but even so I suspect this is the
easiest way to do it in Word.
1. Create a new document, connect it to your data source, and insert one
merge field and a bookmark named "mybm"
2. Open up the VBA Editor and
a. insert a class module.
b. name it EventClassModule in the properties box
c. Copy the following code into the module:
Public WithEvents App As Word.Application
Private Sub App_MailMergeBeforeRecordMerge(BYVal Doc As Document, Cancel As
Boolean)
Dim dt as String
Dim lt as String
Dim h as Hyperlink
Dim r as Range
' set the range variable to our placeholder bookmark
Set r = Doc.Bookmarks("mybm").Range
' delete any existing text (this is needed for records after record 1)
r.Text = ""
' construct the link text that you want. I'm assuming your data source
' has a field called mylink for the link
lt = Doc.MailMerge.DataSource.DataFields("mylink")
' set up the display text that you want. If it should be the same as the
link text, do that:
dt = lt
' insert the hyperlink you want
Set h = Doc.Hyperlinks.Add(Anchor:=r, Address=lt, TextToDisplay:=dt)
' Set mybm to "cover" the inserted link so it is easy to delete the old
hyperlink
Doc.Bookmarks.Add Name:="mybm", Range:=h.Range
Set r = Nothing
Set h = Nothing
End Sub
3. Insert an ordinary module (the name does not matter) and insert the
following code:
Dim x As New EventClassModule
Sub autoopen()
Set x.App = Word.Application
End Sub
4. Save and close the document. Open it to trigger the autoopen, then
perform a test merge.
NB, if you start changing the code you may find that you need to re-run your
autoopen code again, and/or save/close/open the document.
Peter Jamieson
> Hi,
>
[quoted text clipped - 23 lines]
> Many Thanks,
> Nick
nickbarrar@hotmail.com - 20 Aug 2007 13:47 GMT
Peter - I'll try this out and confirm this week, thanks very much for
this, it's greatly appreciated !!!
Nick
nickbarrar@hotmail.com - 22 Aug 2007 14:47 GMT
> Peter - I'll try this out and confirm this week, thanks very much for
> this, it's greatly appreciated !!!
>
> Nick
Peter thanks - almost worked but we get a syntax error at;
' insert the hyperlink you want
Set h = Doc.Hyperlinks.Add(Anchor:= r, Address = lt, TextToDisplay:=
dt)
any ideas?
Nick
Peter Jamieson - 22 Aug 2007 18:18 GMT
Yes, there should be a colon after address, i.e.
Set h = Doc.Hyperlinks.Add(Anchor:= r, Address:= lt, TextToDisplay:=dt)

Signature
Peter Jamieson
http://tips.pjmsn.me.uk
>> Peter - I'll try this out and confirm this week, thanks very much for
>> this, it's greatly appreciated !!!
[quoted text clipped - 10 lines]
>
> Nick