Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
mailmerging number of copies
i have a word document and excel file as datasource for mailmerging.
what i want to accomplish is to mailmerge the document printing (n times) based on datasource column per record. is it possible? thanks a lot |
#2
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
mailmerging number of copies
As long as each printed document corresponds to a single record in your
Excel data source, you could try the following macro. I've tested this macro without the "per copy" loop, but not with that extra loop, so there could be errors in the Sub PrintXDocsPerSourceRec() Dim intCopies As Integer Dim intCopy As Integer Dim intSourceRecord As Integer Dim objMerge As Word.MailMerge 'Dim strOutputDocumentName As String Dim TerminateMerge As Boolean ' Need to set up this object as the ActiveDocument changes when the ' merge is performed. Set objMerge = ActiveDocument.MailMerge With objMerge ' If no data source has been defined, do it here using OpenDataSource. ' But if it is already defined in the document, you should not need ' to define it here. ' .OpenDataSource _ ' Name:="whatever" intSourceRecord = 1 TerminateMerge = False Do Until TerminateMerge .DataSource.ActiveRecord = intSourceRecord ' Get the number of copies to print. ' Let's assume the number is in a column called "CopyCount" ' make sure you use exactly the same field name here ' - upper/lower case is significant intCopies = .DataSource.DataFields("CopyCount").Value ' if we have gone past the end (and possibly, if there are no records) ' then the Activerecord will not be what we have just tried to set it to If .DataSource.ActiveRecord intSourceRecord Then TerminateMerge = True ' the record exists Else For intCopy = 1 To intCopies .DataSource.FirstRecord = intSourceRecord .DataSource.LastRecord = intSourceRecord .Destination = wdSendToPrinter .Execute Next intSourceRecord = intSourceRecord + 1 End If Loop End With End Sub If you haven't used Word VBA Macros before, see http://word.mvps.org/FAQs/MacrosVBA/CreateAMacro.htm -- Peter Jamieson http://tips.pjmsn.me.uk "mar.s.i." wrote in message ... i have a word document and excel file as datasource for mailmerging. what i want to accomplish is to mailmerge the document printing (n times) based on datasource column per record. is it possible? thanks a lot |
Reply |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
How do I number consecutively many copies of the same form? | Microsoft Word Help | |||
How do I number 100 copies of a flyer I created from 1 to 100? | Page Layout | |||
How to increment a number on one page for several copies of the sa | Microsoft Word Help | |||
Number * of 150 copies in a label | Tables | |||
number of copies defaulted at 2 | Microsoft Word Help |