View Single Post
  #6   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Peter Jamieson Peter Jamieson is offline
external usenet poster
 
Posts: 4,582
Default Marking up data in Access to import in Word mail merge

Do you know of a way to have it run automatically for each
merged document? Right now I'm having to run it manually (which is still a
step forward, at least).


I would probably create a macro that perforrmed the merge /then/ did the
find/replace. e.g.

Sub MergeThenReplace()
Dim objMMMD As Word.Document 'Mail Merge Main Document

' After the merge, the new document becomes the active document
' So make a reference to the activeDocument in case we
' need to refer to it post-merge (although in this case, we don't)

Set objMMMD = ActiveDocument

With objMMMD.MailMerge
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = wdDefaultFirstRecord
.LastRecord = wdDefaultLastRecord
End With
.Execute Pause:=False
End With

With ActiveDocument.Content.Find
.ClearFormatting
.Replacement.ClearFormatting
.Replacement.Style = ActiveDocument.Styles("Heading 3")
.Replacement.ParagraphFormat.Borders.Shadow = False
.Text = "\h3\(*)\/h3\"
.Replacement.Text = "\1"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
.Execute Replace:=wdReplaceAll
End With

Set objMMMD = Nothing

End Sub

Peter Jamieson


"Brendan" wrote in message
...
Hi Peter,

Thanks again. You've been a great help.

I recorded the following macro and tested running it on merged documents.
It
works nicely. Do you know of a way to have it run automatically for each
merged document? Right now I'm having to run it manually (which is still a
step forward, at least).

Sub StyleReplace()
'
' StyleReplace Macro
' Macro recorded 5/3/2007 by Brendan
'
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Style = ActiveDocument.Styles("Heading 3")
Selection.Find.Replacement.ParagraphFormat.Borders .Shadow = False
With Selection.Find
.Text = "\h3\(*)\/h3\"
.Replacement.Text = "\1"
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub