Reply
 
Thread Tools Display Modes
  #1   Report Post  
Posted to microsoft.public.word.mailmerge.fields
someguy51 someguy51 is offline
external usenet poster
 
Posts: 7
Default Catalog Mail Merge - Conditionally Insert Page Break

Hi,

I'm doing a catalog/directory mail merge. I want to conditionally insert a
page break. I was able to do it by having

{ IF {MERGEFIELD nextpagen} 0, "New Page"}

However the issue is that the data inside my catalog merge is inside a
table. The "IF" code is at the top of the page and the table with the merge
fields starts right below it. The final merge has the data on the right
pages but the has a seperate table for each row. Is there a way I can insert
the page break and have the rows inside one table?

Thank You
  #2   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 Catalog Mail Merge - Conditionally Insert Page Break

If you add another column as the first column of the table in your mailmerge
main document and insert the nextpagen field into that cell, and possibly
modify what you now have in the nextpagen field, then execute the merge to a
new document and run the following macro over that document, it will create
a document in which a table is started on a new page every time the data in
the nextpagen field changes

' Macro to create multiple items per condition in separate tables from a
directory type mailmerge

Dim source As Document, target As Document, scat As Range, tcat As Range
Dim data As Range, stab As Table, ttab As Table
Dim i As Long, j As Long, k As Long, n As Long
Set source = ActiveDocument
Set target = Documents.Add
Set stab = source.Tables(1)
k = stab.Columns.Count
Set ttab = target.Tables.Add(Range:=Selection.Range, numrows:=1,
numcolumns:=k - 1)
Set scat = stab.Cell(1, 1).Range
scat.End = scat.End - 1
ttab.Cell(1, 1).Range = scat
j = ttab.Rows.Count
For i = 1 To stab.Rows.Count
Set tcat = ttab.Cell(j, 1).Range
tcat.End = tcat.End - 1
Set scat = stab.Cell(i, 1).Range
scat.End = scat.End - 1
If scat tcat Then
ttab.Rows.Add
j = ttab.Rows.Count
ttab.Cell(j, 1).Range = scat
ttab.Cell(j, 1).Range.Paragraphs(1).PageBreakBefore = True
ttab.Rows.Add
ttab.Cell(j + 1, 1).Range.Paragraphs(1).PageBreakBefore = False
For n = 2 To k
Set data = stab.Cell(i, n).Range
data.End = data.End - 1
ttab.Cell(ttab.Rows.Count, n - 1).Range = data
Next n
Else
ttab.Rows.Add
For n = 2 To k
Set data = stab.Cell(i, n).Range
data.End = data.End - 1
ttab.Cell(ttab.Rows.Count, n - 1).Range = data
Next n
End If
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

"Someguy51" wrote in message
...
Hi,

I'm doing a catalog/directory mail merge. I want to conditionally insert
a
page break. I was able to do it by having

{ IF {MERGEFIELD nextpagen} 0, "New Page"}

However the issue is that the data inside my catalog merge is inside a
table. The "IF" code is at the top of the page and the table with the
merge
fields starts right below it. The final merge has the data on the right
pages but the has a seperate table for each row. Is there a way I can
insert
the page break and have the rows inside one table?

Thank You



  #3   Report Post  
Posted to microsoft.public.word.mailmerge.fields
someguy51 someguy51 is offline
external usenet poster
 
Posts: 7
Default Catalog Mail Merge - Conditionally Insert Page Break

Thank you. That got me going and I solved my issue.

"Doug Robbins - Word MVP" wrote:

If you add another column as the first column of the table in your mailmerge
main document and insert the nextpagen field into that cell, and possibly
modify what you now have in the nextpagen field, then execute the merge to a
new document and run the following macro over that document, it will create
a document in which a table is started on a new page every time the data in
the nextpagen field changes

' Macro to create multiple items per condition in separate tables from a
directory type mailmerge

Dim source As Document, target As Document, scat As Range, tcat As Range
Dim data As Range, stab As Table, ttab As Table
Dim i As Long, j As Long, k As Long, n As Long
Set source = ActiveDocument
Set target = Documents.Add
Set stab = source.Tables(1)
k = stab.Columns.Count
Set ttab = target.Tables.Add(Range:=Selection.Range, numrows:=1,
numcolumns:=k - 1)
Set scat = stab.Cell(1, 1).Range
scat.End = scat.End - 1
ttab.Cell(1, 1).Range = scat
j = ttab.Rows.Count
For i = 1 To stab.Rows.Count
Set tcat = ttab.Cell(j, 1).Range
tcat.End = tcat.End - 1
Set scat = stab.Cell(i, 1).Range
scat.End = scat.End - 1
If scat tcat Then
ttab.Rows.Add
j = ttab.Rows.Count
ttab.Cell(j, 1).Range = scat
ttab.Cell(j, 1).Range.Paragraphs(1).PageBreakBefore = True
ttab.Rows.Add
ttab.Cell(j + 1, 1).Range.Paragraphs(1).PageBreakBefore = False
For n = 2 To k
Set data = stab.Cell(i, n).Range
data.End = data.End - 1
ttab.Cell(ttab.Rows.Count, n - 1).Range = data
Next n
Else
ttab.Rows.Add
For n = 2 To k
Set data = stab.Cell(i, n).Range
data.End = data.End - 1
ttab.Cell(ttab.Rows.Count, n - 1).Range = data
Next n
End If
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

"Someguy51" wrote in message
...
Hi,

I'm doing a catalog/directory mail merge. I want to conditionally insert
a
page break. I was able to do it by having

{ IF {MERGEFIELD nextpagen} 0, "New Page"}

However the issue is that the data inside my catalog merge is inside a
table. The "IF" code is at the top of the page and the table with the
merge
fields starts right below it. The final merge has the data on the right
pages but the has a seperate table for each row. Is there a way I can
insert
the page break and have the rows inside one table?

Thank You




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
how do I insert a page break in a directory merge? Ted Hussey Mailmerge 1 July 15th 07 08:39 PM
Insert line into catalog mail merge EricK Mailmerge 1 May 22nd 07 09:32 PM
Automated mail merge of catalog/directory inserts page breaks Tim Mailmerge 2 July 28th 06 07:45 PM
how do i conditionally format in a mail merge document Karen K Mailmerge 2 June 13th 05 03:46 PM
Can I insert a a filter and a page break on a mail merge? Help! Page break and mail merge Mailmerge 1 December 8th 04 12:59 AM


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