Merge to separate docs

D

Dries

Hi,

in the MVP mail merge "guide", I read that it is possible
to mail merge not only to a catalog, but also to separate
files with a certain number with a certain procedure - is
it also possible to adapt that procedure a little so you
can give the file a name like a person's name it gets
from a record (so I can give the invoice not a certain
number, but the name of the one it is meant for).

Any help appreciated.

Thx,
Dries.
 
C

Cindy M -WordMVP-

Hi Dries,

Yes, this should be possible.

If you want to copy/paste the code you're using to create
the separate documents into a reply, I can show you how to
add the functionality. But to summarize

You have to use the main merge document to get the data in
question. Basically, you have to make sure it's set to the
first record in your merge, and go from record to record as
you create the new documents, picking up the specific field
value as you go. Very roughly, the VBA code you'd need is

With docMain.MailMerge.DataSource
.ActiveRecord = wdFirstRecord
szFileName = .dataFields("NameOfField").Value
.ActiveRecord = wdNextRecord
End With
in the MVP mail merge "guide", I read that it is possible
to mail merge not only to a catalog, but also to separate
files with a certain number with a certain procedure - is
it also possible to adapt that procedure a little so you
can give the file a name like a person's name it gets
from a record (so I can give the invoice not a certain
number, but the name of the one it is meant for).

Cindy Meister
INTER-Solutions, Switzerland
http://homepage.swissonline.ch/cindymeister (last update Sep
30 2003)
http://www.mvps.org/word

This reply is posted in the Newsgroup; please post any
follow question or reply in the newsgroup and not by e-mail
:)
 
D

Dries

Hi Cindy,

thx for your help: over the weekend , I'll try it out and
let you know something.

Best regards,
Dries.
 
D

Doug Robbins - Word MVP

Hi Dries,

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

Dim Source As Document, oblist As Document, DocName As Range, DocumentName
As String
Set Source = ActiveDocument
With Dialogs(wdDialogFileOpen)
.Show
End With
Set oblist = ActiveDocument
Counter = 1
While Counter < oblist.Tables(1).Rows.Count
Set DocName = oblist.Tables(1).Cell(Counter, 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
Source.Sections.First.Range.Cut
Documents.Add
Selection.Paste
ActiveDocument.SaveAs filename:=DocumentName, FileFormat:= _
wdFormatDocument, LockComments:=False, Password:="",
AddToRecentFiles:= _
True, WritePassword:="", ReadOnlyRecommended:=False,
EmbedTrueTypeFonts:= _
False, SaveNativePictureFormat:=False, SaveFormsData:=False, _
SaveAsAOCELetter:=False
ActiveWindow.Close
Counter = Counter + 1
Wend

Please post any further questions or followup to the newsgroups for the
benefit of others who may be interested. Unsolicited questions forwarded
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