Re: Mail Merge and Project
- From: "Doug Robbins" <dkr@xxxxxxxxxxxxxx>
- Date: Wed, 6 Apr 2005 19:51:28 +0200
Word does not really have the ability to perform a "multiple items per
condition (=key field)" mailmerge.
See the "Multiple items per condition" item under the "Special merges"
section of fellow MVP Cindy Meister's website at
http://homepage.swissonline.ch/cindymeister/MergFram.htm
Or, if you create a Catalog (on in Word XP and later, it's called Directory)
type mailmerge main document with the mergefields in the cells of a one row
table in the mailmerge main document with the keyfield in the first cell in
the row and then execute that merge to a new document and then run the
following macro, it will create separate tables with the records for each
key field in them. With a bit of further development, you may be able to
get it to do what you want.
' 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
"debraholloway" <debraholloway@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:7366443F-014A-4C46-891A-618A149B44D8@xxxxxxxxxxxxxxxx
> Help. I want to email using a mail merge. The data is in microsoft
> project
> server. Each person should only get the rows of data that applies to
> them.
> If I were creating the report in Access I would use a "group by"
>
> Can you do a group by with a mail merge? I am open to other suggestions.
> --
> Debra H.
.
- References:
- Mail Merge and Project
- From: debraholloway
- Mail Merge and Project
- Prev by Date: Re: mail merge phantom records
- Next by Date: Re: Mail Merge and Project
- Previous by thread: Re: Mail Merge and Project
- Next by thread: printing multiple copies per page-using print output selection HEL
- Index(es):
Relevant Pages
|