Mailmerge Formatting Problems

P

Philip Ruelle

Hi,

Like many others before, I am trying to use automation to split a mail
merge Word file. I've searched the groups and found several solutions
but they all seem to have a fatal flaw.

The creation of the separate files works fine but each file has the
trailing section break in it. I've tried doing a MoveUp followed by a
Delete. I've tried doing a find and replace on the "^b" character. But
they both end up with the formatting being lost.

I know that sections contain the header/footer information, page setup,
etc but I'd have thought the first section's setup would be stored in
the implicit first section and the section break next page would hold
the information for the second, empty section. So I am surprised that
deleting the second section has any effect on the first section.

Does anyone know how to get around this problem? Is there something
obvious I'm missing like a 'retain formatting' flag? I've tried
grabbling the PageSetup object prior to removing the trailing sction
break and then re-applying it again afterwards but that does not work.
The only file in which the formatting remains correct is the last one
and that is the only one that does not have a trailing section break.

Any suggestions gratefully received,
Phil

N.B. I am writing code in C# and accessing the Word functionality via
the Microsoft.Office.Interop.Word wrapper.
 
D

Doug Robbins - Word MVP

This macro changes the section break at the end of each document resulting
from splitting mail merge to a continuous section break so that it does not
cause a blank page (unless the last page containing text is full to the
gills).

Sub splitter()
' splitter Macro
' Macro created by Doug Robbins to save each letter created by a mailmerge
' as a separate file, retaining the header and footer information.
Dim i As Long, Source As Document, Target As Document, Letter As Range
Set Source = ActiveDocument
For i = 1 To Source.Sections.Count
Set Letter = Source.Sections(i).Range
Set Target = Documents.Add
Target.Range = Letter
Target.Sections(2).PageSetup.SectionStart = wdSectionContinuous
Target.SaveAs FileName:="Letter" & i
Target.Close
Next i
End Sub

--
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
 
P

Philip Ruelle

Fantastic, thanks Doug, I've tried it out and it works like a charm.

I don't think the spurious section break will cause me any issues but
out of interest is it possible to completely remove the section break
or is this the only way to get the desired results?

Thanks,
Phil
 
D

Doug Robbins - Word MVP

The only way would be to use VBA to reconstruct the
headers/footers/pagelayout as would be required after deleting the section
break.

--
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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top