2 separate catalog merge on same page

R

Rene

Is it possible to do two separate catalog merges on the same page?
One merge will fill the top 2/3 of the page in two columns and the
bottom 1/3 will be a new category? For instance, I have a Corporate
listing filling most of the page and then I need a branch office
listing for the bottom third of the page. They both have the same
columns & fields, I just need to segregate them.

Is this possible?
 
C

Charles Kenyon

It is possible, not easy. This is how I would approach it. Put your page
together. Perform your merge on your first database. Lock or unlink the
fields in the top 2/3. Then link to the second database and merge again. I
haven't tried or tested this but it seems like it should work.
 
D

Doug Robbins - Word MVP

Hi Rene,

I am not sure if what Charles suggested will work. If it doesn't if you had
all of the records in one datasource with a field indicating whether each
record belonged to Corporate or a Branch, with the records sorted by that
field then did a single catalog merge and then you run the following macro
on the document created by the merge, it may create what you want:

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


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