Home |
Search |
Today's Posts |
|
#1
![]() |
|||
|
|||
![]()
Hi,
When I setup the mail merge for printing labels, the labels are filled from left to right, and top to bottom. Is there a way to change the fill order to [top to bottom] and then [left to right]? That is, instead of the labels A B C D E F G H I J K L I want A D G J B E H K C F I L I did some research on this subject, and I only saw sugguestions to use Macro or VB to programatically do this. Does Word not have the function to specify this fill direction? Thanks, Michael |
#2
![]() |
|||
|
|||
![]()
No, Michael. Word does not have a function to perform this action.
******************* ~Anne Troy www.OfficeArticles.com www.MyExpertsOnline.com "Michael Tang" wrote in message ... Hi, When I setup the mail merge for printing labels, the labels are filled from left to right, and top to bottom. Is there a way to change the fill order to [top to bottom] and then [left to right]? That is, instead of the labels A B C D E F G H I J K L I want A D G J B E H K C F I L I did some research on this subject, and I only saw sugguestions to use Macro or VB to programatically do this. Does Word not have the function to specify this fill direction? Thanks, Michael |
#3
![]() |
|||
|
|||
![]()
But, this macro can do what needs to be done to the data source to get the
labels to print that way. ' 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 "Michael Tang" wrote in message ... Hi, When I setup the mail merge for printing labels, the labels are filled from left to right, and top to bottom. Is there a way to change the fill order to [top to bottom] and then [left to right]? That is, instead of the labels A B C D E F G H I J K L I want A D G J B E H K C F I L I did some research on this subject, and I only saw sugguestions to use Macro or VB to programatically do this. Does Word not have the function to specify this fill direction? Thanks, Michael |
#4
![]() |
|||
|
|||
![]()
Thanks guys,
I will give this a shot. "Doug Robbins" wrote: But, this macro can do what needs to be done to the data source to get the labels to print that way. ' 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 "Michael Tang" wrote in message ... Hi, When I setup the mail merge for printing labels, the labels are filled from left to right, and top to bottom. Is there a way to change the fill order to [top to bottom] and then [left to right]? That is, instead of the labels A B C D E F G H I J K L I want A D G J B E H K C F I L I did some research on this subject, and I only saw sugguestions to use Macro or VB to programatically do this. Does Word not have the function to specify this fill direction? Thanks, Michael |
Reply |
Thread Tools | |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Mail Merge Word 2003 Issue | Mailmerge | |||
Mail Merge - Parameter prompts twice... | Mailmerge | |||
Mail Merge Field Order | Mailmerge | |||
mail merge with attachments | Mailmerge | |||
Mail Merge Issue With Office 97 - Excel Data Source | Mailmerge |