Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
Print labels vertically
When creating a Mailmerge in Word 2007, is there a way to have the labels
print in a vertical order (down, then over), instead of the usualy horizontal order (over, then down)? For example, if I have a sheet of labels 3 rows of 10, I'd like for the labels to be going down the first column of 10, then over to the right, then again over to the right. I know this option is available in Access, but have not found it in Word. |
#2
Posted to microsoft.public.word.mailmerge.fields
|
|||
|
|||
Print labels vertically
If the label data source is a table in a Word document, if you open that
document and run the following macro, it will re-arrange the records so that when the data source is used for the merge, the labels will be produced with the data arranged in the order that you are after: ' 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 If the data source is not in a Word document, you could use it with a Directory type mail merge to get it into the form of a Word document. Another way to achieve the same result is to use a Directory type mail merge main document that contains three columns in the first of which you insert a one row one column table of the appropriate dimensions to match your label and into which you insert the mergefields. -- 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 "labelprinter" wrote in message news When creating a Mailmerge in Word 2007, is there a way to have the labels print in a vertical order (down, then over), instead of the usualy horizontal order (over, then down)? For example, if I have a sheet of labels 3 rows of 10, I'd like for the labels to be going down the first column of 10, then over to the right, then again over to the right. I know this option is available in Access, but have not found it in Word. |
Reply |
Thread Tools | |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Can you force labels to print vertically instead of horizontally? | Mailmerge | |||
Print labels vertically | Mailmerge | |||
print sorted labels vertically in Word 2000 | Mailmerge | |||
can I print numbers vertically on avery mailing labels? | New Users | |||
Text on Labels are not lining up vertically | Mailmerge |