Home | Tips | Library | Other Authors | Other WP Sites | Writer's Links | Contact | Site Map | Donate

Barry MacDonnell's
Toolbox for WordPerfect

Macros, tips, and templates for Corel® WordPerfect® for Windows®
© Copyright 1996-2021 by Barry MacDonnell. All Rights Reserved.

Page updated Jun 9, 2021

LablCopy - A macro that quickly fills up Avery® label or card sheets (and even regular paper) with identical copies of the same item (a.k.a. "repeating labels")


Included: One macro (v2.14; 08/12/18) and a PDF user guide (the material on this web page); 84,412 bytes

Compatible with WordPerfect 8 and later versions (may also work in earlier versions)

WordPerfect 11 users: See important information about using macros in the first release of WP11 ( at the top of this page.

Downloading, Documentation, Modifications, and Support

Labels and cards:  What does WordPerfect consider to be a "page"?

[Note that "label" as used here can mean a label, card, or any other one-page item that you want to duplicate.]

Users frequently ask:

"When I print, why do I get 10 pages of labels with one label on each page, instead of one page with 10 labels on it?"

Here's why:

When you select a label definition with Format, Labels (generally when in a new, empty document window), WordPerfect internally defines the size and margins for each label and their location and spacing on the physical printout sheet.

Logical pages vs. physical pages:

However, when you create the first label on screen, it is really a "logical" page. WordPerfect's Help defines a logical page this way:

"Logical page:

A defined area inside a physical page (the sheet of paper you print on). You can have several logical pages on one physical page. For instance, if you are printing labels, the sheet or roll of labels is called the physical page; each individual label is called a logical page."

At the very end of the first label's text and codes, if you add a hard page break with <Ctrl+Enter>, you'll see the second (blank) label appear onscreen — right next to the first one. (Look at the status bar at the bottom of the WP window: It should say "Pg 2." It really means "Logical Pg 2, Physical Pg 1.") If you were to print at this point, and print just one copy of the current page, you would get a single physical page with two labels on it.

Therefore, you should not set the "Number of copies" in File, Print to anything other than "1" unless you truly want to print more than one copy of the physical page(s).

LABLCOPY makes all this much easier. Just create the first label or card onscreen (see the Instructions in the next column), then play LABLCOPY.

Tip: You can even use a built-in WordPerfect Project to design and create the first "master" label or card (but see the Notes in the next column about how to do this).

LABLCOPY will create duplicates of the label, card, or full-size page — with a mouseclick.


Use LablCopy.wcm to quickly make identical copies of —

•  return address labels
•  business cards
•  mailing or shipping labels
•  admission tickets
•  inventory tags
•  log sheets
•  etc.
You can also automatically add consecutive numbers to them:
See tips below.

Here's how
[1] Just create (or load from disk) a single "master" or "model" copy of one of the above items in a new, empty document on screen as described below.
[2] Then play the LablCopy.wcm macro (Tools, Macro, Play) on that document. A menu dialog will appear where you can choose the number of copies to make of the item in [1].

[3] Then press Enter or click the OK button.

That's it!

If you look over the following sections they might appear a little complicated at first, but once you have made your first master copy and used it with this macro you will find the process simple and quick.

[Side note: Are there other methods of creating identical labels or cards? Yes ... but you may want to read this first.]

Instructions / Tutorial

First you need to get the macro and put it on your system.

Download the LablCopy.zip archive file.
Extract ("unzip") the LablCopy.wcm macro file stored inside it.
Place the macro file where WordPerfect can find it.

•  Generally you should place the extracted macro file in either your Default or Supplemental macro folder as shown in your WordPerfect program's Tools, Settings, Files, Merge/Macro dialog.

•  The included reference guide (LablCopy guide.pdf) can be placed in any convenient folder, or on the Windows desktop. You can then delete the .ZIP file after extracting its files.

•  For more help see the Downloading... instructions here.

Then follow these three basic steps.

Step 1

Create a single "master" copy of your label, business card, or other card-stock or one-page item, following the procedure below. (Even if you have one you should read the rest of this step to ensure the master copy conforms to a few simple rules.)

The master copy then becomes the model that LablCopy will use to create the desired number of identical copies in a single document — all with a mouse click.


☼  Start this tutorial by creating a simple master label or business card — i.e., a line or two of plain text — so that you can see how the macro works. Later, you can create more complex master copies.

Note: So that you don't waste your label or card stock, LablCopy always produces its copies in a WordPerfect document window — not directly on the actual sheet of labels or cards. When you are satisfied with the results you can then print this "stencil" document directly on the Avery (or similar) sheets pre-loaded in the printer. (You can also save the document for future use.)

☼  For letter-size or envelope-size pages you wish to duplicate,
rather than perforated labels or cards (i.e., multiple items on single sheets), you can simply create the new one-page master document (or open an existing document), then go directly to Step 2

How to create a new master copy

First, to be sure you will be able to see all labels or cards on screen in their correct layout, set the View menu choice to Page (not Draft).


(a) Open a new blank document with File, New.

(b) Use Format, Labels and choose a label or card size from the list.

(c) Click on Select. A small single "page" appears on screen — this is the basic master layout.

Important note: For Avery (or similar) label or card stock that have multiple defined areas on each page, please read the <—left column on this page for more information about what WordPerfect considers to be a page when printing these kinds of items. This becomes important later when considering the number of copies of a label or card you want to print.

(d) Create your master label or card on that page.

•  Open Reveal Codes to view the formatting of the master copy.
•  Use just one label, card, or regular page as your master copy.
Don't use any hard or soft page breaks (i.e., [HPg] or [SPg] codes) at the bottom of the master copy, since these codes would create a second (unwanted) "page," which would appear on screen as another label or card.
•  Adjust label/card margins, select a different font, etc. You can also adjust these things anywhere on the master copy (e.g., to indent an address).

See a screen shot of a example master copy of a business card.
Also see the "Tips and Alternatives" section below for more tips.

(e) Save your work with File, Save.

(f) Leave the master copy document on screen (or open it if you closed it) for Step 2.

Tips and alternatives for master copies of labels and business cards

☼  Three sources for your "master copy":

•  Open a previously created label or business card.

- or -

•  Create a new master business card with a predefined, automated WordPerfect Project by clicking File, New from Project (see the note below about using Projects).

- or -

•  Create a custom master business card from scratch. See also the 4-page document, "How to Create Business Cards Manually in WordPerfect - Without Using a Template Project" (PDF). It contains a sample business card created using nothing more than WordPerfect formatting commands and a piece of WordPerfect clip art. The document gives simple, step-by-step instructions on how to create a similar card for your own purposes. This is a good way to create custom business cards.

☼  Use just ONE label, card, or regular page as your master copy. If you use a previously created label or card for the master, be sure there is only one label or card on screen. Remove any additional labels or cards, as well as any hard or soft page breaks ([HPg] or [SPg]) or delay codes ([Delay]) from the master copy. (See here for more on how these codes work.) The macro checks to see if more than one page exists (see sidebar above about what WordPerfect considers to be a "page"); if there is more than one page, it will pop a warning message.

☼  Increase the Zoom with View, Zoom or by rotating the mouse wheel while holding down the <Ctrl> key. This helps give you  finer control over text and graphics placement. [WordPerfect can adjust placements with a tolerance of 0.001 inches. See, for example, WordPerfect's Format, Typesetting options.]

☼  See also the Tips section below for other formatting ideas. Especially note the information about setting label and card margins (which are different from page margins) in WordPerfect 9 and later versions.

Step 2

Play the LablCopy.wcm macro with Tools, Macro, Play.

On the menu that pops up enter the total number of copies you want to print.


This is the number of individual labels, cards, or other items to print -- NOT the number of sheets of label/card stock they will be printed on.

For example, enter "10" to fill up one sheet of standard business cards (such as Avery business cards), as shown in this screen shot:

LablCopy menu dialog


Normally, the copies are created in a new, separate (temporary) document window. Alternatively you can untick (i.e., disable) the "Use separate document" check box to add the copies to the master in the current document window. This might work better with some masters that use tables or full-page text boxes. [You can always use File, Save As to save the resulting document with a different filename to preserve the original (single-label) master file.]

Press <Enter> or click OK to dismiss the menu.

The labels should appear in the WordPerfect window, where each label is considered to be a "logical page" positioned to print on the physical page (the label or card stock). (See sidebar above for more information on logical pages.)

You can now save the document for future use, if desired.


Be sure to use View, Page (or File, Print Preview) to see them on screen as they will print ("WYSIWYG"). This is especially true if your labels are formatted in two or more columns per sheet (e.g., Address labels).

If you use View, Draft all labels will appear in a single column on screen, which is normal for that View setting

Step 3

Print the document with WordPerfect's File, Print.

Tips and recommendations

☼  If you created a number of duplicates that span more than a single physical sheet of labels, cards, or other paper you can choose File, Print, "Full document" on the WordPerfect "Print to" dialog so as to print the entire set of sheets.

On the other hand, if you need just one sheet
from the set (e.g., 30 address-size labels or 10 business cards), place the cursor on any label/card on that page and choose "Current page" on the WordPerfect "Print to" dialog.

☼  Always set the File, Print, "Number of Copies" to 1 on WordPerfect's "Print to" dialogunless you actually want to print more than one complete set of label or card sheets! This WordPerfect print setting controls the number of sheets to pull from the printer tray, not the number of labels/cards on those sheets (which is the job of LablCopy, based on the number you entered on its menu).

☼  Test the LablCopy document with a sheet of plain paper before using label or card stock. Just pint the first page of the LablCopy document. Then place the printout on top of (or underneath) a piece of the label or card stock and hold both up to a strong light source to check for proper text alignment.

When you are satisfied with the results, insert your Avery stock and print the labels or cards.


[See also Tips below.]

¤  About WordPerfect Projects — i.e., those items listed under File, New from Project (or under File, New in earlier versions of WordPerfect):

Even though WordPerfect 9 and later versions come with built-in "Labels" and "Business Card" projects (WP10 users can download from Corel's FTP site), these projects are not as reliable — in terms of duplicating the first card — as the LablCopy macro is, especially if you change the formatting somewhere on the master label or card.

It appears the Project code in WordPerfect makes use of the "merge method," which has been shown to be unreliable in producing all but the simplest form of labels or cards. (Click here for a page that shows a comparison of the various methods of producing repeating labels, cards, or other items.)

Do not use a label or card Project and then play LablCopy on the resulting project document. WordPerfect Projects and LablCopy are two different processes. Use one or the other.

[You can, however, use a Project to design the first card, then carefully select and copy the card into a new document (use the Reveal Codes window to ensure the accuracy of your selection), and then play LablCopy on the copied card to produce duplicates.]

¤  To print a single label or card on blank label stock starting anywhere on the sheet, see the LABLPRNT macro. To print specific labels from a sheet of pre-addressed labels, see the Tips section below.

¤  LablCopy can make duplicates of any single-page document, too. (In this case, you would not use Format, Labels since the page has already been formatted). This is a fast way to create consecutively numbered log sheets, etc. (See the Tips section below.)

¤  If you need to copy (replicate) a row of different labels (e.g., three labels, each with different text or graphics on the first row of an Avery 5160 form), you cannot use LablCopy to do it. See the Tips section below for an alternative method.

¤  Are other methods of creating duplicate labels, cards, etc., any better than LablCopy?

Click here for a simple test that shows that LablCopy is more reliable than merging items (which, in any case, is limited to creating a maximum of 255 identical items) or using copy-and-paste.

[Page Top]


☼  To see all labels on screen in their correct layout, be sure to set View to "Page" and not "Draft".

☼  Use borderless tables to help line up text and graphics into rows and columns on the master card or label. Setting the table's row and column margins to a minimum amount may help. Text boxes or columns can also help position items on the label.

☼  You can easily modify the macro to change its menu defaults. For example, you can change the default number of copies from 10 to 30:

•  Click on Tools, Macro, Edit, to open the macro. The macro toolbar should also appear, just below the ruler and property bars (if enabled on the View menu).

•  Examine the macro. Below some introductory comments you will find a redlined User Modification Area. Look for vNumber:=10 and change it to vNumber:=30 or whatever you prefer as the menu default.

•  Then click on the Save & Compile button on the macro toolbar (or just File, Save from the top menu).

•  Done!
☼  In WordPerfect 9 (c.1999) — and some later versions there is a bug:  Label and card margins (not physical page margins) cannot be set manually. See Charles Rossiter's Margins Set.wcm macro on the Other Authors page. It sets margins for pages and labels. As Charles said in a post on WordPerfect Universe: "You should not change label margins in a document [in WP9 and later]. It should only be done when you are selecting the label definition; then click Edit. A bug in the margins dialog (since WPWin9) applies the page margins to the labels." His macro will do the job, though, including setting label margins to zero.

☼  Page borders can be used with labels (each label is a logical "page"). Use Format, Page, Border/Fill and choose a border style. Be sure to disable (un-tick) the checkbox, "Apply border to current page only". Then, in the same dialog, use the Advanced tab to set the Spacing of the Outside area to a small amount; this moves the borders inward. Related tip: To set border Spacing to zero, type a zero in the field(s) and then press <Enter> to exit the field.

(For some early versions of WordPerfect: If you wish to have the label's text appear inside smaller margins, see the Margins Set macro in the previous tip. It will allow setting label borders to small amounts — even to zero.)

☼  If you copy and paste material from another source into your master label or card, be sure to use Reveal Codes to see if there are any stray, undesirable codes that were "brought along" in the copied material, particularly [Delay] codes (which the macro will detect and notify you about). Delay codes that were meant to delay an action to page 2 (or later page) of a normal document may produce strange results in a sheet of identical labels or cards where there is no "page 2".

☼  Check for formatting codes that were not turned off before the end (bottom) of the master page. (See the Q&A column on the left for a description of "logical pages," to help you understand how duplicate labels or cards are created. The master label or card is page 1, which is followed by page 2, page 3, etc. — even though they might all appear on screen as a single "page." The former are logical pages; the latter is a physical page — the one you will print.)

For example, if you have set a new value for line height or line spacing (using Format, Line — which inserts either a [Ln Height] or a [Ln Spacing] code in the document) and you do not reset their values to what they were at the beginning of the master page, you may get different spacing between all lines on subsequent labels or cards (i.e., pages) that are "downstream" from the master page.

For the purposes of creating duplicate labels, cards, or pages, think of the master page as a self-contained structure where formatting codes must be returned to their original values before the end of the structure is reached so that they do not "spill over" to the beginning of the next structure. (The macro will take care of line justification changes and left/right margin changes, so you need not reset them if you set new values for them somewhere in the master. However, other formatting that is not reset before the bottom of the master page could be problematic on following pages.)

In a similar vein, there is no need to end the master page with a hard page break (<Ctrl+Enter>). The macro will see the resulting [HPg] code and warn you about it, but it is best not to include it on the master in the first place. Keep everything in one "structure." A hard page break starts a new page. Let LablCopy do that for you, as it creates the duplicates. [Related tip: Using a text box or graphic image can cause WordPerfect to add a temporary page break at the bottom of the label or card, even though it looks lit it fits inside the label or card on your screen. Reduce the size of the box or image until the page break code disappears from the Reveal Codes window.]

☼  Customize WordPerfect's business cards - As an alternative method of creating the first (master) business card, you could create a single card with the Business Card project (File | New [or New from Project]...), then (using Reveal Codes) select everything on that card with Edit, Select, All.  Press <Ctrl+C> to copy the selected card to the Windows clipboard. Next, open a new document and paste it there with <Ctrl+V>, and save it. You can clean out extraneous codes using Reveal Codes (e.g., [Named Regions] and [Bookmarks]), since they will no longer be needed.

☼  Add consecutive numbers to labels or cards - Open a blank (new) document. Use Format, Labels and select an appropriate label or card stock size. Add a page number to it (each label is a logical "page") with Format, Page, Insert Page Number, Insert, Close. This places a [PgNumDisp] code on the label (visible in the Reveal Codes window); you should see a "1" on the label at the insertion point. Next, choose a font and font size for the number (select the code with your mouse and change the font), and add other body text and formatting. Finally, play LablCopy. You'll get consecutively numbered labels or cards — as many as you need.

•  Related tip: You can adjust the starting number of the numbered labels or cards with the Value/Adjust button. Go to the top of the first label or card and click Format, Page, Insert Page Number, Value/Adjust, <set the new beginning (page) number>, OK.

☼  Add consecutive numbers to log sheets, Purchase Order, etc., to create multiple numbered copies -

•  Step 1. Open your existing document. Check to ensure it is on one page and doesn't have a [HPg] code (i.e., a page break) at the end of page 1. This is the "Master" that is referred to in the above instructions for LablCopy.

•  Step 2. Place the cursor where you want the consecutive numbers to appear.

•  Step 3. Add a page number at that location with Format, Page, Insert Page Number, Insert, Close. This places a [PgNumDisp] code on the label (visible in the Reveal Codes window); you should see a "1" on the document at the insertion point.

Tip: You can choose a font and font size for the number (select the code with your mouse and change the font), and add other body text and formatting.

Step 4. Play LablCopy to obtain as many copies as you desire. Each will be numbered consecutively. You can adjust the starting number by placing your cursor at the very top of this document and click Format, Page, Insert Page Number, Value/Adjust. Set the page number to whatever beginning value you desire, such as "1001". Click OK (or Apply, then OK). Then click Close to close the "Insert Page Number" dialog and return to the document.

Tip: This step inserts a code at the top of the document, such as [Pg Num Set: 1001]. You can re-use this document In the future with different numbers by simply deleting this code and repeating step 4 with a new starting value. (Or simply double click the code in Reveal Codes to bring up the Values dialog.)

See also BATES - Macros that create sequential, fixed-width "Bates" numbers (e.g., 00001, 00002, etc.), with or without preceding/following text material.

☼  To create vertical business cards (i.e., cards rotated 90 degrees), see "Creating vertically formatted business cards or labels...," which shows how to use a rotated text box to create the vertical card or label.

[Note: If you use LablCopy to make duplicates of the master vertical card or label created with that method, uncheck (disable) the box on LablCopy's main menu ("Use separate document'). This will make all copies in the same (original) document, not in a new document window. For cards that use full-size text boxes, an apparent small bug in WordPerfect causes the first box copied to shift slightly if a new document window is used for the cards or labels.]

☼  To create duplicate copies of a row of labels (not just the first label), try this alternative method that does not use LablCopy.

Assuming you have created the first row of labels — with each label ending in a hard page break (<Ctrl+Enter>) — you should have several labels in the first row, and one empty label in the second row.

•  Open Reveal Codes, place your cursor just after the [Labels Form][Paper Sz/Typ] codes at the top of the document. Select everything from that point to just after the last [HPg] code. (It is sometimes easier to make selections if you hold down the <Shift> key while you move the cursor with the <RightArrow> key.)

•  Copy the selection to the Windows clipboard with <Ctrl+C>.

•  Click inside the empty label on the second row to place your insertion cursor after all graphics and codes.

•  Paste the copied row of labels with <Ctrl+V> as many times as needed to fill up the sheet. (Tip: You can use Edit, Repeat Next Action... before pasting to automatically execute the paste command "x" times.)

This worked fine in a test using three labels on an Avery 5160 form with nothing but a small graphic image in each of them. If you have more complex formatting, this method may or may not work for you.

☼  Test your printout with ordinary paper, not label or card stock. When you are satisfied with the final draft, insert your Avery stock and print your labels or cards.

☼  You can print specific labels or cards on the sheet after you play LablCopy. This may help save label or card stock by allowing you to reuse the same physical sheet whenever you need just one or a few labels or cards — especially if you begin printing each time from the bottom of the sheet. As Jack Waananen (Corel C_Tech) says:

"Each label is a 'logical page'. So just print the 'pages' you want after generating the full page [i.e., sheet] of labels.

In other words, if your label page is three columns by ten rows and you have already used the first 17 labels, just print pages '18-' (no need to specify the 30 since the last page is assumed if no number is specified).

To print the fifth row of the above labels, print pages 13-15."


The author has used this method successfully with a Hewlett Packard LaserJet 4P printer and Avery label stock, reusing the same physical sheet of stock several times until most (or all) labels were printed from it, with no ill effects. The stock was stored in its original box between print runs to keep it from curling or other damage, thus minimizing the possibility of paper jams. In his opinion, you should always store and handle label stock carefully, and always print from the bottom of the sheet if you intend to reuse it. Loose labels or torn paper backing, or exposed glue at the top of a partially used sheet, might cause it to jam in the printer.

However, before you use this macro or try to print multiple times on the same sheet of stock you should be aware of this site's disclaimer. If you do not agree with the disclaimer, do not use this macro and simply delete it from your computer.

[Page Top]