Mail Merge and ActiveDocument.SaveAs Question

R

rich

Ok I'm a real newbie so forgive me if I say anything stupid.
Basically I have a little script which splits out the Letters document
that is created at the end of a mail merge when you click 'Edit
individual letters'. This script saves each individual document with
a seperate filename (date and counter+1) what I would like to do is
save each one of these documents with the name contained in the first
field of my mail merge.

As you can see (in the bits comented out) I've had a go but I cant get
the bookmark 'cell' to pass over to the 'Edit individual letters' for
each recipient, I basically get the first document saved with the
right name no problem but I'm guessing the others dont save as there's
only one bookmark. I thought if i bookmarked the first field during
the mail merge process it would bookmark all the corisponding fields
in the letters document.

Does anyone have any ideas of how to do this or a work around?

Thanks

-------------------------------------------

Sub Splitter()
' splitter Macro
' saves each letter created by a mailmerge as a separate file.

Dim mask As String
'Dim Name As String
'Name = ActiveDocument.Bookmarks("cell").Range.Text
Selection.EndKey Unit:=wdStory
Letters = Selection.Information(wdActiveEndSectionNumber)
mask = "ddMMyy"

Selection.HomeKey Unit:=wdStory
Counter = 1
While Counter < Letters
DocName = "c:\feedback\" & Format(Date, mask) & " " &
LTrim$(Str$(Counter))
'DocName = "c:\feedback\" & Name
ActiveDocument.Sections.First.Range.Cut
Documents.Add
Selection.Paste
ActiveDocument.SaveAs FileName:=DocName, FileFormat:=wdFormatDocument
ActiveWindow.Close
Counter = Counter + 1
Wend

End Sub
 
D

Doug Robbins

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
 

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