Home |
Search |
Today's Posts |
|
#1
![]() |
|||
|
|||
![]()
I am trying to duplicate the results found in the example given in MS
Knowledge Base Article 294686, and can't. I have created an Excel data file exactly as shown in example, and created the Word document using the instructions supplied. I have copied the commands listed under the "example" section into the document, but do not get the results shown in article. At the point which you "Arrange the directory" in the Mail Merge wizard process, I used Ctrl+F9 to create a field code, pasted the commands into it, but to no avail. Do I need to add the 3 merge field, city, employee and sales? What am I missing here? Thanks, TD |
#2
![]() |
|||
|
|||
![]()
You need to use Ctrl+F9 to create each pair of field delimiters {} whereever
they appear in the article. If you just used Ctrl+F9 once and then copied and pasted the field construction inside the field delimiters so created, it will not work. Here's another way that you can use 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 -- Please respond to the Newsgroup for the benefit of others who may be interested. Questions sent directly to me will only be answered on a paid consulting basis. Hope this helps, Doug Robbins - Word MVP "TD" wrote in message ... I am trying to duplicate the results found in the example given in MS Knowledge Base Article 294686, and can't. I have created an Excel data file exactly as shown in example, and created the Word document using the instructions supplied. I have copied the commands listed under the "example" section into the document, but do not get the results shown in article. At the point which you "Arrange the directory" in the Mail Merge wizard process, I used Ctrl+F9 to create a field code, pasted the commands into it, but to no avail. Do I need to add the 3 merge field, city, employee and sales? What am I missing here? Thanks, TD |