A Microsoft Office (Excel, Word) forum. OfficeFrustration

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » OfficeFrustration forum » Microsoft Word » Page Layout
Site Map Home Register Authors List Search Today's Posts Mark Forums Read  

Printing labels



 
 
Thread Tools Display Modes
  #1  
Old June 7th, 2004, 10:28 PM
john
external usenet poster
 
Posts: n/a
Default Printing labels

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
  #2  
Old June 8th, 2004, 07:06 AM
Doug Robbins - Word MVP
external usenet poster
 
Posts: n/a
Default Printing labels

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

--
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
"john" wrote in message
...
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


 




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump


All times are GMT +1. The time now is 02:36 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 OfficeFrustration.
The comments are property of their posters.