Merging to Multiple Document Files

R

RMort

I want to create a new document file for each record in the merge data source.
Is this possble? When I merge to a new document is creates a multiple page
form letter for each record. This is not useful to me. I need each one to be
a seperate .doc file.
Help is possible.

Thanks in Advance,
Rick
 
R

RMort

I want to create a new document file for each record in the merge data source.
Is this possble? When I merge to a new document is creates a multiple page
form letter for each record. This is not useful to me. I need each one to be
a seperate .doc file.
Help if possible.

Thanks in advance,
Rick
 
D

Doug Robbins

If you are not particular about the file names given to each document, then
use:

Sub splitter()

' splitter Macro

' Macro created by Doug Robbins to save each letter created by a mailmerge
as a separate file.

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
Letter.End=Letter.End-1
Set Target = Documents.Add
Target.Range=Letter
Target.SaveAs FileName:="Letter" & i
Target.Close
Next i

End Sub

If you want to save each document with a specific filename that comes from
the data source, then here's a method that I have used that involves
creating a separate catalog type mailmerge maindocument which creates a word
document containing a table in each row of which would be your data from the
database that you
want to use as the filename.

You first execute that mailmerge, then save that file and close it. Then
execute the mailmerge that you want to create the separate files from and
with the result of that on the screen, run a macro containing the following
code
and when the File open dialog appears, select the file containing the table
created by the first mailmerge

' Throw Away Macro created by Doug Robbins
'
Dim Source As Document, oblist As Document, DocName As Range, DocumentName
As String
Dim i As Long, doctext As Range, target As Document
Set Source = ActiveDocument
With Dialogs(wdDialogFileOpen)
.Show
End With
Set oblist = ActiveDocument
Counter = 1
For i = 1 To oblist.Tables(1).Rows.Count
Set DocName = oblist.Tables(1).Cell(i, 1).Range
DocName.End = DocName.End - 1

'Change the path in the following command to suit where you want to save
the documents.
DocumentName = "I:\WorkArea\Documentum\" & DocName.Text
Set doctext = Source.Sections(i).Range
doctext.End = doctext.End - 1
Set target = Documents.Add
target.Range.FormattedText = doctext
target.SaveAs FileName:=DocumentName
target.Close
Next i
--
Please respond to the Newsgroup for the benefit of others who may be
interested. Questions sent directly to me will only be answered on a paid
consulting basis.

Hope this helps,
Doug Robbins - Word MVP
 
R

RMort

Ok I'm not exaclty sure what to do with this?
Do I create a macro and paste this text into it?
When I do that it gives me a compile error: syntax error
I know very little about macros and VB script. (if that wasn't obvious)
Please help.

Thanks again,
Rick
 
R

RMort

I never got a chance to thank both of you.
The macro worked great
Now I have another question that kind of relates to the same thing.
Will this macro work in Excel to break every page of spreadsheet into a
seperate
file?
Thanks in advance for any help you provide.

Rick
 
D

Doug Robbins

The one that I gave you will not. That is not to say that you may not be
able to do something similar with a macro in Excel. I would suggest that
you ask in the Microsoft.public.excel.programming newsgroup.

--
Please respond to the Newsgroup for the benefit of others who may be
interested. Questions sent directly to me will only be answered on a paid
consulting basis.

Hope this helps,
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