Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
![]()
Hi,
I have a word document which contains many bookmarks , after using the 'Mail merge' feature the bookmarks are removed, Is there a way to solve it. Thanks in Advance |
#2
![]()
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
![]()
Bookmarks must be unique, the very nature of merge would require the same
bookmarks for each record, so they are stripped from the merge. -- Graham Mayor - Word MVP My web site www.gmayor.com Word MVP web site http://word.mvps.org sanjeev wrote: Hi, I have a word document which contains many bookmarks , after using the 'Mail merge' feature the bookmarks are removed, Is there a way to solve it. Thanks in Advance |
#3
![]()
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
![]()
' Throwaway Macro created by Doug Robbins to "preserve" bookmarks during a
MailMerge ' Dim abm As Bookmark, bmrange As Range, i As Long, Result As Document, j As Long, k As Long, linkrange As Range, linktarget As String Dim Source As Document Set Source = ActiveDocument i = 1 For j = 1 To Source.MailMerge.DataSource.RecordCount For Each abm In ActiveDocument.Range.Bookmarks System.PrivateProfileString("c:\bookmarks.txt", "bookmarkNames", "bookmark" & i) = abm.Name & Format(j) i = i + 1 Next Next j For Each abm In ActiveDocument.Range.Bookmarks abm.Range.InsertBefore "#" abm.Range.InsertAfter "#" Next With ActiveDocument.MailMerge .Destination = wdSendToNewDocument .Execute End With Set Result = ActiveDocument k = 1 Selection.HomeKey wdStory Selection.Find.ClearFormatting With Selection.Find Do While .Execute(FindText:="#*#", MatchWildcards:=True, Wrap:=wdFindContinue, Forward:=True) = True Set bmrange = Selection.Range bmrange.Characters(bmrange.Characters.Count).Delet e bmrange.Characters(1).Delete Result.Bookmarks.Add System.PrivateProfileString("c:\bookmarks.txt", "bookmarkNames", "bookmark" & k), bmrange k = k + 1 Loop End With For i = 1 To Result.Hyperlinks.Count linktarget = Result.Hyperlinks(i).SubAddress Set linkrange = Result.Hyperlinks(i).Range linkrange.Select linktarget = linktarget & Format(Selection.Information(wdActiveEndSectionNum ber)) Result.Hyperlinks.Add Result.Hyperlinks(i).Range, "", linktarget Next i Source.Activate Selection.HomeKey wdStory Selection.Find.ClearFormatting With Selection.Find Do While .Execute(FindText:="#*#", MatchWildcards:=True, Wrap:=wdFindContinue, Forward:=True) = True Set bmrange = Selection.Range bmrange.Characters(bmrange.Characters.Count).Delet e bmrange.Characters(1).Delete Loop End With -- Hope this helps. Please reply to the newsgroup unless you wish to avail yourself of my services on a paid consulting basis. Doug Robbins - Word MVP "sanjeev" wrote in message ... Hi, I have a word document which contains many bookmarks , after using the 'Mail merge' feature the bookmarks are removed, Is there a way to solve it. Thanks in Advance |
#4
![]()
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
![]()
Hi Robins,
Thanks a lot , It solved my problem Regards Sanjeev "Doug Robbins - Word MVP" wrote: ' Throwaway Macro created by Doug Robbins to "preserve" bookmarks during a MailMerge ' Dim abm As Bookmark, bmrange As Range, i As Long, Result As Document, j As Long, k As Long, linkrange As Range, linktarget As String Dim Source As Document Set Source = ActiveDocument i = 1 For j = 1 To Source.MailMerge.DataSource.RecordCount For Each abm In ActiveDocument.Range.Bookmarks System.PrivateProfileString("c:\bookmarks.txt", "bookmarkNames", "bookmark" & i) = abm.Name & Format(j) i = i + 1 Next Next j For Each abm In ActiveDocument.Range.Bookmarks abm.Range.InsertBefore "#" abm.Range.InsertAfter "#" Next With ActiveDocument.MailMerge .Destination = wdSendToNewDocument .Execute End With Set Result = ActiveDocument k = 1 Selection.HomeKey wdStory Selection.Find.ClearFormatting With Selection.Find Do While .Execute(FindText:="#*#", MatchWildcards:=True, Wrap:=wdFindContinue, Forward:=True) = True Set bmrange = Selection.Range bmrange.Characters(bmrange.Characters.Count).Delet e bmrange.Characters(1).Delete Result.Bookmarks.Add System.PrivateProfileString("c:\bookmarks.txt", "bookmarkNames", "bookmark" & k), bmrange k = k + 1 Loop End With For i = 1 To Result.Hyperlinks.Count linktarget = Result.Hyperlinks(i).SubAddress Set linkrange = Result.Hyperlinks(i).Range linkrange.Select linktarget = linktarget & Format(Selection.Information(wdActiveEndSectionNum ber)) Result.Hyperlinks.Add Result.Hyperlinks(i).Range, "", linktarget Next i Source.Activate Selection.HomeKey wdStory Selection.Find.ClearFormatting With Selection.Find Do While .Execute(FindText:="#*#", MatchWildcards:=True, Wrap:=wdFindContinue, Forward:=True) = True Set bmrange = Selection.Range bmrange.Characters(bmrange.Characters.Count).Delet e bmrange.Characters(1).Delete Loop End With -- Hope this helps. Please reply to the newsgroup unless you wish to avail yourself of my services on a paid consulting basis. Doug Robbins - Word MVP "sanjeev" wrote in message ... Hi, I have a word document which contains many bookmarks , after using the 'Mail merge' feature the bookmarks are removed, Is there a way to solve it. Thanks in Advance |
Reply |
Thread Tools | |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
My noteref to valid bookmark says "Error! Bookmark not defined."? | Microsoft Word Help | |||
The Insert Bookmark box shouldnt vanish after adding a bookmark. | Microsoft Word Help | |||
How to use mailmerge feature to generate report? (i.e. SQL statem | Mailmerge | |||
Word should preserve cycles of track changes | Microsoft Word Help | |||
Preserve Formatting of TOC | Microsoft Word Help |