Reply
 
Thread Tools Display Modes
  #1   Report Post  
Posted to microsoft.public.word.mailmerge.fields
taxmom taxmom is offline
external usenet poster
 
Posts: 1
Default How to print double sided postcard using mail merge

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
  #2   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Graham Mayor Graham Mayor is offline
external usenet poster
 
Posts: 19,312
Default How to print double sided postcard using mail merge

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

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


taxmom wrote:
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



  #3   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Doug Robbins - Word MVP Doug Robbins - Word MVP is offline
external usenet poster
 
Posts: 8,832
Default How to print double sided postcard using mail merge

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

"taxmom" wrote in message
...
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



  #4   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Doug Robbins - Word MVP Doug Robbins - Word MVP is offline
external usenet poster
 
Posts: 8,832
Default How to print double sided postcard using mail merge

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

"Graham Mayor" wrote in message
...
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

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


taxmom wrote:
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





  #5   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Graham Mayor Graham Mayor is offline
external usenet poster
 
Posts: 19,312
Default How to print double sided postcard using mail merge

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

My web site www.gmayor.com
Word MVP web site http://word.mvps.org



Doug Robbins - Word MVP wrote:
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.


"Graham Mayor" wrote in message
...
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

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


taxmom wrote:
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





  #6   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Peter Jamieson Peter Jamieson is offline
external usenet poster
 
Posts: 4,582
Default How to print double sided postcard using mail merge

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
"Doug Robbins - Word MVP" wrote in message
...
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

"taxmom" wrote in message
...
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





  #7   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Graham Mayor Graham Mayor is offline
external usenet poster
 
Posts: 19,312
Default How to print double sided postcard using mail merge

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

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


Peter Jamieson wrote:
What about
a. you start with a label 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
"Doug Robbins - Word MVP" wrote in message
...
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

"taxmom" wrote in message
...
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



  #8   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Doug Robbins - Word MVP Doug Robbins - Word MVP is offline
external usenet poster
 
Posts: 8,832
Default How to print double sided postcard using mail merge

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

"Graham Mayor" wrote in message
...
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

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


Peter Jamieson wrote:
What about
a. you start with a label 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
"Doug Robbins - Word MVP" wrote in message
...
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

"taxmom" wrote in message
...
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





  #9   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Peter Jamieson Peter Jamieson is offline
external usenet poster
 
Posts: 4,582
Default How to print double sided postcard using mail merge

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

"Doug Robbins - Word MVP" wrote in message
...
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

"Graham Mayor" wrote in message
...
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

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


Peter Jamieson wrote:
What about
a. you start with a label 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
"Doug Robbins - Word MVP" wrote in message
...
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

"taxmom" wrote in message
...
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







  #10   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Peter Jamieson Peter Jamieson is offline
external usenet poster
 
Posts: 4,582
Default How to print double sided postcard using mail merge

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

"Graham Mayor" wrote in message
...
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

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


Peter Jamieson wrote:
What about
a. you start with a label 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
"Doug Robbins - Word MVP" wrote in message
...
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

"taxmom" wrote in message
...
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







  #11   Report Post  
Posted to microsoft.public.word.mailmerge.fields
Graham Mayor Graham Mayor is offline
external usenet poster
 
Posts: 19,312
Default How to print double sided postcard using mail merge

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

My web site www.gmayor.com
Word MVP web site http://word.mvps.org


taxmom wrote:
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



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
Double sided merge & duplex print Karen Jernigan Mailmerge 13 July 1st 06 07:20 AM
how to print an A5 booklet on double sided A4 paper brianatrest Page Layout 0 May 2nd 05 08:24 PM
mail merge 2 x 2 double sided brad572 Mailmerge 3 April 4th 05 09:18 PM
how do i print double sided in word jenniss New Users 6 March 6th 05 09:31 AM
How do I print a document double-sided? I can't find a print opti. Corine Microsoft Word Help 4 January 18th 05 03:01 PM


All times are GMT +1. The time now is 01:46 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"