Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Word / Page Layout / June 2004

Tip: Looking for answers? Try searching our database.

Printing labels

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
john - 07 Jun 2004 22:28 GMT
I have standard labels 21 per sheet on A4 paper.
Label size 64mm x 38mm.
I want to print on them from top to bottom ie. portait
rather than from side to side (landscape).
How can I do this with Word 2003.  I know it must be
possible but I have just about given up.
Would appreciate any help on this.

Cheers
Doug Robbins - Word MVP - 08 Jun 2004 07:06 GMT
I assume that you are talking about using mailmerge and that rather than
physically turning the page on its side, you mean to print down then accross
rather that across and then down.  If that is the case, and the datasource
is a table in a Word document, run the following macro on that document.  If
the data source is not a table in a Word document, use a catalog or
directory type mailmerge to create a table in a Word document that contains
all of the records and then add a header row to that table and then use the
macro:

' 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

Signature

Please post any further questions or followup to the newsgroups for the
benefit of others who may be interested.  Unsolicited questions forwarded
directly to me will only be answered on a paid consulting basis.

Hope this helps
Doug Robbins - Word MVP

> I have standard labels 21 per sheet on A4 paper.
> Label size 64mm x 38mm.
[quoted text clipped - 5 lines]
>
> Cheers
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.