Group:  Microsoft Word ยป microsoft.public.word.mailmerge.fields
Thread: Set order of "next record" to list down left column then right

Geek News

Set order of "next record" to list down left column then right
PKeuning 5/3/2007 8:07:02 PM
New to Office 2007. Is it possible to establish the order in which "next
record" will print? I want it to print in two columns, first down the left
column and then across and down the right column.
Re: Set order of "next record" to list down left column then right
"Graham Mayor" <gmayor[ at ]REMOVETHISmvps.org> 5/4/2007 4:21:33 AM
Not without changing the order of your data source. Word will always print
labels across the rows. Change to a directory merge and a two column format
and it will print the records down the columns (but they will not be
labels).

--
<>>< ><<> ><<> <>>< ><<> <>>< <>><<>
Graham Mayor - Word MVP

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

PKeuning wrote:
[Quoted Text]
> New to Office 2007. Is it possible to establish the order in which
> "next record" will print? I want it to print in two columns, first
> down the left column and then across and down the right column.


Re: Set order of "next record" to list down left column then right
"Doug Robbins - Word MVP" <dkr[ at ]REMOVECAPSmvps.org> 5/4/2007 11:08:49 AM
Here is a macro that will re-arrange the data source so that the labels will
be printed as you want. Alternatively, if you are using Access and can get
the datasource into Access, it has a label wizard that that this capability.

' Macro to assign numbers to data source so that it can be sorted to cause
labels to print down columns
Dim Message, Title, Default, labelrows, labelcolumns, i As Integer, j As
Integer, k As Integer
Message = "Enter the number of labels in a row" ' Set prompt.
Title = "Labels per Row" ' Set title.
Default = "3" ' Set default.
' Display message, title, and default value.
labelcolumns = InputBox(Message, Title, Default)
Message = "Enter the number of labels in a column" ' Set prompt.
Title = "Labels per column" ' Set title.
Default = "5" ' Set default.
labelrows = InputBox(Message, Title, Default)
ActiveDocument.Tables(1).Columns.Add
BeforeColumn:=ActiveDocument.Tables(1).Columns(1)
ActiveDocument.Tables(1).Rows(1).Range.Cut
k = 1
For i = 1 To ActiveDocument.Tables(1).Rows.Count - labelcolumns
For j = 1 To labelrows
ActiveDocument.Tables(1).Cell(i, 1).Range.InsertBefore k + (j - 1) *
labelcolumns
i = i + 1
Next j
k = k + 1
i = i - 1
If k Mod labelcolumns = 1 Then k = k - labelcolumns + labelcolumns *
labelrows
Next i
ActiveDocument.Tables(1).Sort FieldNumber:="Column 1"
ActiveDocument.Tables(1).Rows(1).Select
Selection.Paste
ActiveDocument.Tables(1).Columns(1).Delete


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

"PKeuning" <PKeuning[ at ]discussions.microsoft.com> wrote in message
news:77502969-F329-40E4-A47F-7F10A502F79D[ at ]microsoft.com...
[Quoted Text]
> New to Office 2007. Is it possible to establish the order in which "next
> record" will print? I want it to print in two columns, first down the
> left
> column and then across and down the right column.


Home | Search | Terms | Imprint Contact
Newsgroups Reader - provided by WiredBox.Net