How to print double sided postcard using mail merge

T

taxmom

I need to print a postcards using 4 cards per 8 1/2 x 11 paper. I want to
put merge specific data on the front of the card and the clients name and
mailing address on the back of the card. Can anyone walk me through the
steps to do this. I am not having any problems with the mail merge function,
I just can't figure out how to do the double sided merge. I do have duplex
printing capabilities
 
G

Graham Mayor

It is simpler to create separate merges for front and back.

The merge will not step back in the data to print the back of the card (the
second page) with the data from the first card.

If you want to merge into both the front and the back of the card, I would
guess that one practical way would be to create a new data file with each
block of four records duplicated (include blank records if your data file is
not a multiple of 8 or the last sheet of the merge will be wrong), eg

Record1
Record2
Record3
Record4
Record1
Record2
Record3
Record4
Record5
Record6
Record7
Record8
Record5
Record6
Record7
Record8
Record 9
blank
blank
blank
Record 9


You could then create a new label document comprising two pages - set the
document type to 'letter'
and on the first page enter one side of the cards and on the second page
enter the other side information. Add a next record field at the start of
each cell except the first one on the first page. Propagation will not work
so you will have to use copy and paste to create the other three 'labels' on
each page.

I don't have a printer which duplexes, but the method works in practice when
merged to a new document.

--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP


<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
 
D

Doug Robbins - Word MVP

This cannot be done with mailmerge alone. What you need to do is execute
two merges, one for the front side and one for the back, each one to a new
document, then use a macro to combine those documents into a single document
taking alternate pages for each and then print that combined document to
your duplex printer.

I have previously set this sort of thing up for a person who was merging two
postcards to a sheet for which the following macro was used to combine the
documents. It will probably need modification for your four cards per
sheet:

Sub CombineDocs()

Dim sourcea As Document, sourceb As Document, target As Document

Dim i As Long, j As Long

Dim arange As Range

Set target = Documents.Open(FileName:="c:\target.doc")

Set sourcea = Documents.Open(FileName:="c:\sourcea.doc")

Set sourceb = Documents.Open(FileName:="c:\sourceb.doc")

j = 2 * sourcea.Tables(1).Rows.Count - 1

For i = 1 To j

target.Tables(1).Rows.Add

Next i

With sourcea.Tables(1)

For i = 1 To .Rows.Count

Set arange = .Rows(i).Cells(1).Range

arange.End = arange.End - 1

If i Mod 2 = 1 Then

j = 1

Else

j = 2

End If

target.Tables(1).Cell(2 * i - j, 1).Range.FormattedText = arange

Next i

End With

With sourceb.Tables(1)

For i = 1 To .Rows.Count

Set arange = .Rows(i).Cells(1).Range

arange.End = arange.End - 1

If i Mod 2 = 1 Then

j = 1

Else

j = 0

End If

target.Tables(1).Cell(2 * i + j, 1).Range.FormattedText = arange

Next i

End With

sourcea.Close wdDoNotSaveChanges

sourceb.Close wdDoNotSaveChanges

End Sub



--
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
 
D

Doug Robbins - Word MVP

Hi Graham,

This is probably simpler than my method, but depending on the duplexing
capability of the printer (Flip on short side or flip on long side), it may
be necessary to re-arrange the order of the second set of records

For flip on long side which is the default I believe, the records would need
to be in the following order

Record1
Record2
Record3
Record4
Record2
Record1
Record4
Record3

If the flip is on the short side, the records would need to be

Record1
Record2
Record3
Record4
Record3
Record4
Record1
Record2

and also the text will be upside down relative to that on the other side of
the card.

--
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
 
G

Graham Mayor

That's the problem with not having the duplex printer to test on :(.

I began writing a macro that would add in the extra empty fields based on
the number of records in the data source and then sort out the data into the
required order, but my eyes quickly glazed over and there is the problem of
whether the printer duplexes horizontally or vertically. I was thinking
that your method might be simpler after all :)

I may return to this when I feel more inclined.

--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP


<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
 
P

Peter Jamieson

What about
a. you start with a laebl type mail merge main document. Suppose it is a
four card layout.
b. you duplicate the page and the table in it. You may also need to asdjust
the position and layout of the table on page 2
c. you have { NEXT } fields in cells 2 3 and 4 on page 1 but none on page 2
d. suppose you want fields A and B on the front and fields B and C on the
back

In cell one on page one you have

{ SET B1 { MERGEFIELD B
}{ SET C1 { MERGEFIELD C
}{ MERGEFIELD A }
{ MERGEFIELD B }

in cell two you have

{ NEXT }{ SET B2 { MERGEFIELD B
}{ SET C2 { MERGEFIELD C
}{ MERGEFIELD A }
{ MERGEFIELD B }

and so on for cells 3 and 4.

On page two in cell one, you have

{ REF B2 }
{ REF C2 }

in cell two , you have

{ REF B1 }
{ REF C1 }

and so on (which way round exactly depends on the way the duplexing works).

A really simple example seems to work - you can merge to a new document to
see. But
a. am I missing something?
b. ISTR that you can't SET and REF stuff such as ADDRESSBLOCK fields.

Peter Jamieson
 
G

Graham Mayor

Just as I began to work out the macro to adjust the data ...... :)

Frankly I believe you are better off without the AddressLayout fields -
otherwise it seems to work and should be easy to adapt to this task.

I still rather like the idea of manipulating the data. It should be possible
to adapt this method to work with any double sided format, but this is
stretching my programming skills and could take some time ;)


--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP


<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
 
D

Doug Robbins - Word MVP

I am not sure that the OP wanted the same fields for each record on both
sides of the card, which I think Peter's method cannot handle.

If the data source is a Word document and the Printer flips on the long edge
of the paper (usually the default) I believe that the following macro will
make the necessary modification to the datasource:

Dim i As Long, j As Long
Dim dtable As Table
Dim arec As Range
Set dtable = ActiveDocument.Tables(1)
i = (dtable.Rows.Count - 1) Mod 4
If i > 0 Then
For j = 1 To 4 - 1
dtable.Rows.Add
Next j
End If
For i = dtable.Rows.Count - 3 To 5 Step -4
For j = 1 To 4
dtable.Rows.Add (dtable.Rows(i))
Next j
Next i
For j = 1 To 4
dtable.Rows.Add
Next j
For i = dtable.Rows.Count To 9 Step -8
For j = 1 To dtable.Columns.Count
Set arec = dtable.Cell(i - 5, j).Range
arec.End = arec.End - 1
dtable.Cell(i, j).Range = arec
Next j
Next i
For i = dtable.Rows.Count - 1 To 8 Step -8
For j = 1 To dtable.Columns.Count
Set arec = dtable.Cell(i - 3, j).Range
arec.End = arec.End - 1
dtable.Cell(i, j).Range = arec
Next j
Next i
For i = dtable.Rows.Count - 2 To 7 Step -8
For j = 1 To dtable.Columns.Count
Set arec = dtable.Cell(i - 5, j).Range
arec.End = arec.End - 1
dtable.Cell(i, j).Range = arec
Next j
Next i
For i = dtable.Rows.Count - 3 To 6 Step -8
For j = 1 To dtable.Columns.Count
Set arec = dtable.Cell(i - 3, j).Range
arec.End = arec.End - 1
dtable.Cell(i, j).Range = arec
Next j
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
 
P

Peter Jamieson

I am not sure that the OP wanted the same fields for each record on both
sides of the card, which I think Peter's method cannot handle.

Not sure why - the example I gave had field "A" (just used on side "1"),
field "B", (used on both sides), and field "C", (just used on side 2),
precisely to cover the main possibile combinations. But one of the reaosns I
asked about this method it that I haven't used it except experimentally, and
once I'd come across a problem with ADDRESSBLOCK the possibility that there
were other drawbacks that would rule it out for everyday use seemed more
likely.

As for ADDRESSBLOCK (and the apparently less-used and/or less problematic
GREETINGLINE), I tend to the view that
a. if it works, it works (but I don't think it works in this case, where
you eneed to preserve values via SET fields
b. if it doesn't work, there are a very small number of things worth trying
to make it work (e.g. changing field mappings)
c. even if it does appear to work, there has to be some doubt as to whether
it really works the way the user thinks it works (e.g. maybe they didn't
test all the possible person+spouse combinations). It's very difficult to
tell, but I suspect it works for more people than perhaps we realise (since
we tend to see the "I can't make it work" questions, rather than "it
worked!" comments.
d. if it doesn't work, or you want more certainty, head for the "individual
fields" approach straight away.

Going back to the double-sided labels stuff, one likely problem, for
example, is that you can't use Propagate labels to fill in all your labels
(on pages 1 and 2) because the fields on pages 1 and 2 would typically need
to be different. (FWIW I have difficulty testing this anyway because I still
use a Tablet PC and there is stil no fix for the tablet-specific problem
with Propagate Labels :))

Peter Jamieson





Peter Jamieson
 
P

Peter Jamieson

Just as I began to work out the macro to adjust the data ...... :)

:) yes, see my reply to Doug on some of this stuff...
I still rather like the idea of manipulating the data. It should be
possible to adapt this method to work with any double sided format, but
this is stretching my programming skills and could take some time ;)

One problem is that the label content on one side differs from the other,
i.e.the user cannot rely on built-in facilities such as Propagate Labels.
Another is that the label layout on one side may not be the same as the
other. it should be possible to work out for "side 2" from the various
dimensions on "side 1" but I haven't thought about it at a detailed level.

As for manipulating the data, the main advantage is IMO that you use the
data source like any other source (e.g. if you want to use ADDRESSBLOCK, you
are probably not going to be constrained by having to use SET fields. The
main problem seems to me to be that the specific code is probably going to
be different depending on the data source, although the general "duplicate &
sort " algorithm required for duplex printing should be the same for any
type of data source. Once people are committed to sorting their source data,
I suspect that most people would be quite happy to save in any format that
would allow them to use an off-the-shelf algorithm. The main problem is
likely to arise if they can't convert their data to that format without some
loss of information (e.g. if they have memo fields in Excel but they get
truncated during an export - that sort of thing).

One approach that might deal with a lot of data source types might be to
create a .mdb with tables linked to the real data source and work out some
algorithms and queries that would return everything required in the correct
sequence. But as a general-purpose solution, that would definitely fall foul
of data conversion problems (e.g. because of the sort of general problems
you get using ODBC drivers to access Excel data). Further, using SQL to
retrieve specified sets of records is one thing - using it to provide a
correct sequence of interleaved records may not be so straightforward,
although I think I can see the outline of a solution.

Peter Jamieson
 
G

Graham Mayor

Better late than never, this thread got me interested in producing a utility
to create the data files required for producing duplex merges to postcards
and business cards. Doug also produced a version and his code was somewhat
neater than mine (though no faster and produced the same result) so we ran
with his core algorithms tacked on to my front end. The result is a web page
and add-in - www.gmayor.com/duplex_merge_data.htm which are uploading at
this moment :)

--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - 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