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-2017 by Barry MacDonnell. All Rights Reserved.

Page updated Jun 7, 2015

LABLCOPY - "Label Copy" - A macro that quickly fills up Avery® label or card sheets (and even regular paper) with identical copies of the same item.


Included: One macro (v2.13; 06/02/11) plus a user guide (the material on this web page); 83,857 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 on the physical printout sheet.

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.

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 it to make identical copies of

  • return address labels
  • business cards
  • shipping labels
  • admission tickets
  • inventory tags
  • log sheets
  • etc.

[You can also automatically add consecutive numbers to them. (See tips below.)]

Just create (or load from disk) a single "master" copy of one of these items. Then play the macro, select the number of copies, and press Enter (or click OK).

That's it!

[Tip: 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 -

(1) download the LABLCOPY.ZIP file and then
(2) extract the LablCopy.wcm macro stored inside it.

Generally you should place the macro in either your default or supplemental macro folder; the included reference guide (LablCopy guide.pdf) can be placed in any convenient folder or your Windows desktop. (You can then delete the .ZIP file.)

See downloading instructions here if you need help with this.

Next, follow these three basic steps. They are easier to do than to describe.

Step 1. Create a single "master" copy of your label, business card, or other card-stock or one-page item, following the procedure below.

The master copy then becomes the model that LABLCOPY will use to create the desired number of identical copies -- all with a mouse click.


☼  Start this tutorial by creating a simple master label or business card -- that is, a line or two of plain text -- so that you can see how the macro works. Then you can create more complex master labels or cards.

So that you don't waste label or card stock, LABLCOPY always produces its copies in a WordPerfect document window, not on the actual sheet of labels or cards. You then print this document directly on the Avery (or similar) sheet when you are satisfied with the results. (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 the 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).

   - Then -

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

(b) Click 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 master. (Please be sure to read the sidebar on this web page for more information about what WordPerfect considers to be a "page" in this context.)

(d) Adjust margins, select a font, etc., and create your first label or card on the page.

•  Use just one label, card, or page as your master copy.
•  Remove 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.
•  See a screen shot of a sample -- although highly formatted -- business card before the macro is played (which is done in Step 2).
•  See the "Tips and Alternatives..." section below for more tips.

(e) Save your work with File, Save.

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

Tips and alternatives for master labels and business cards

☼  Three sources for your "master copy":

•  Open a previously created label or business card.
•  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).
•  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 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] codes) at the bottom of the master copy. 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 gives 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 duplicate copies (e.g., enter "10" to fill up one sheet of business cards, etc.).

Normally, the copies are created in a new, temporary document window. You can untick (i.e., disable) the "Use separate document" box to add the copies to the master in the current document window, which may 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.

Step 3. Print the document with File, Print.

  On the "Print to" dialog, choose "Current page" if you need just one physical sheet of labels or cards. Choose "Full document" if you want the entire set of physical sheets printed.

  Set the Number of Copies to "1" unless you actually want multiple sets of labels or cards.


☼  See the sidebar (left column, above ) for an explanation of logical pages vs. physical pages.

☼  Test the results with plain paper:

Print a copy of the current page of labels on a blank sheet of paper rather than on label or card stock.

You can place the printout on top of (or underneath) a piece of the label or card stock and hold both up in front of 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 more Tips below.


[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. (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 and later 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. (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.) Related tip: To set border Spacing to zero, type a zero in the field(s) and then press <Enter> to exit the field.

☼  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]