Reply
 
Thread Tools Display Modes
  #1   Report Post  
Sherry
 
Posts: n/a
Default how do I save mail merge records

how do I save mail merge records individually in word 2002? I'm merging to
letters and need to save each letter as it's own file and cutting and pasting
then doing a save as is so time consuming for 100 letters
  #2   Report Post  
Doug Robbins
 
Posts: n/a
Default

For saving individual mergedocuments, you can use either of the following:

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 each file to be named based on one of the fields in the data
source,
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


--
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
"Sherry" wrote in message
...
how do I save mail merge records individually in word 2002? I'm merging to
letters and need to save each letter as it's own file and cutting and
pasting
then doing a save as is so time consuming for 100 letters



  #3   Report Post  
Sherry
 
Posts: n/a
Default

Thanks so much. Mail merge used to be so easy now it's hard to even find
help for the tasks you are attempting.

"Doug Robbins" wrote:

For saving individual mergedocuments, you can use either of the following:

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 each file to be named based on one of the fields in the data
source,
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


--
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
"Sherry" wrote in message
...
how do I save mail merge records individually in word 2002? I'm merging to
letters and need to save each letter as it's own file and cutting and
pasting
then doing a save as is so time consuming for 100 letters




  #4   Report Post  
Doug Robbins
 
Posts: n/a
Default

If you select Customize from the Tools menu, and go to the Commands tab of
the Customize dialog and then select the All Commands category and scroll
down through the list until you locate the MailMerge Helper item, the click
and drag that onto a toolbar or expanded menu, you can perform a mailmerge
the way that you are used to.

It also helps to turn on the mailmerge toolbar (ViewToolbars) as it has
buttons that allow you to perform the complete mailmerge operation without
having to use the wizard.


--
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
"Sherry" wrote in message
...
Thanks so much. Mail merge used to be so easy now it's hard to even find
help for the tasks you are attempting.

"Doug Robbins" wrote:

For saving individual mergedocuments, you can use either of the
following:

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 each file to be named based on one of the fields in the data
source,
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


--
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
"Sherry" wrote in message
...
how do I save mail merge records individually in word 2002? I'm merging
to
letters and need to save each letter as it's own file and cutting and
pasting
then doing a save as is so time consuming for 100 letters






  #5   Report Post  
sherry
 
Posts: n/a
Default

I used the splitter macro and it worked great but it saves each record as
letter 1, letter 2 etc. I need to save each record as the very last line on
the page. How do I tell the macro to do this?

"Doug Robbins" wrote:

For saving individual mergedocuments, you can use either of the following:

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 each file to be named based on one of the fields in the data
source,
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


--
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
"Sherry" wrote in message
...
how do I save mail merge records individually in word 2002? I'm merging to
letters and need to save each letter as it's own file and cutting and
pasting
then doing a save as is so time consuming for 100 letters






  #6   Report Post  
Doug Robbins
 
Posts: n/a
Default

Assuming that the last line of the file comes from the data source, use
method 2

Or the following should work as long as you have an empty paragraph at the
end of the mailmerge maindocument:

Dim i As Long, Source As Document, Target As Document, Letter As Range,
fname As Range, namefile As String
Set Source = ActiveDocument
For i = 1 To Source.Sections.Count - 1
Set Letter = Source.Sections(i).Range
Letter.End = Letter.End - 1
Set fname = Letter.Duplicate
fname.Start = fname.End - 1
fname = fname.Paragraphs(1).Range
namefile = Left(fname.Text, Len(fname.Text) - 1)
Set Target = Documents.Add
Target.Range = Letter
Target.SaveAs (namefile)
Target.Close
Next i


--
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
"sherry" wrote in message
...
I used the splitter macro and it worked great but it saves each record as
letter 1, letter 2 etc. I need to save each record as the very last line
on
the page. How do I tell the macro to do this?

"Doug Robbins" wrote:

For saving individual mergedocuments, you can use either of the
following:

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 each file to be named based on one of the fields in the data
source,
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


--
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
"Sherry" wrote in message
...
how do I save mail merge records individually in word 2002? I'm merging
to
letters and need to save each letter as it's own file and cutting and
pasting
then doing a save as is so time consuming for 100 letters






  #7   Report Post  
sherry
 
Posts: n/a
Default

Yes the last line on the page is a merge field. There's a blank line just
before it. I guess I'm not understanding what you are meaning by an empty
paragraph.

"Doug Robbins" wrote:

Assuming that the last line of the file comes from the data source, use
method 2

Or the following should work as long as you have an empty paragraph at the
end of the mailmerge maindocument:

Dim i As Long, Source As Document, Target As Document, Letter As Range,
fname As Range, namefile As String
Set Source = ActiveDocument
For i = 1 To Source.Sections.Count - 1
Set Letter = Source.Sections(i).Range
Letter.End = Letter.End - 1
Set fname = Letter.Duplicate
fname.Start = fname.End - 1
fname = fname.Paragraphs(1).Range
namefile = Left(fname.Text, Len(fname.Text) - 1)
Set Target = Documents.Add
Target.Range = Letter
Target.SaveAs (namefile)
Target.Close
Next i


--
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
"sherry" wrote in message
...
I used the splitter macro and it worked great but it saves each record as
letter 1, letter 2 etc. I need to save each record as the very last line
on
the page. How do I tell the macro to do this?

"Doug Robbins" wrote:

For saving individual mergedocuments, you can use either of the
following:

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 each file to be named based on one of the fields in the data
source,
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


--
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
"Sherry" wrote in message
...
how do I save mail merge records individually in word 2002? I'm merging
to
letters and need to save each letter as it's own file and cutting and
pasting
then doing a save as is so time consuming for 100 letters






  #8   Report Post  
Doug Robbins
 
Posts: n/a
Default

After inserting that mergefield in the mailmerge main document, press Enter.
That will create an empty paragraph after that mergefield which is what the
macro requires.

--
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
"sherry" wrote in message
...
Yes the last line on the page is a merge field. There's a blank line just
before it. I guess I'm not understanding what you are meaning by an empty
paragraph.

"Doug Robbins" wrote:

Assuming that the last line of the file comes from the data source, use
method 2

Or the following should work as long as you have an empty paragraph at
the
end of the mailmerge maindocument:

Dim i As Long, Source As Document, Target As Document, Letter As Range,
fname As Range, namefile As String
Set Source = ActiveDocument
For i = 1 To Source.Sections.Count - 1
Set Letter = Source.Sections(i).Range
Letter.End = Letter.End - 1
Set fname = Letter.Duplicate
fname.Start = fname.End - 1
fname = fname.Paragraphs(1).Range
namefile = Left(fname.Text, Len(fname.Text) - 1)
Set Target = Documents.Add
Target.Range = Letter
Target.SaveAs (namefile)
Target.Close
Next i


--
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
"sherry" wrote in message
...
I used the splitter macro and it worked great but it saves each record
as
letter 1, letter 2 etc. I need to save each record as the very last
line
on
the page. How do I tell the macro to do this?

"Doug Robbins" wrote:

For saving individual mergedocuments, you can use either of the
following:

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 each file to be named based on one of the fields in the
data
source,
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


--
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
"Sherry" wrote in message
...
how do I save mail merge records individually in word 2002? I'm
merging
to
letters and need to save each letter as it's own file and cutting
and
pasting
then doing a save as is so time consuming for 100 letters








Reply
Thread Tools
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
skipped mail merge records cls Mailmerge 1 April 28th 05 05:54 PM
mail merge with attachments AS Mailmerge 5 April 9th 05 09:49 AM
mail merge phantom records Believr Mailmerge 1 April 6th 05 06:50 PM
save individual letters from a mail merge document Horta Mailmerge 6 March 25th 05 04:19 PM
How to Mail merge records into a new/separate document Denise Mailmerge 1 February 1st 05 11:25 PM


All times are GMT +1. The time now is 01:32 PM.

Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 Microsoft Office Word Forum - WordBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Word"