Loading
Word.Tips.Net WordTips (Menu Interface)

Automatic Page Numbers across Multiple Documents

Please Note: This article is written for users of the following Microsoft Word versions: 97, 2000, 2002, and 2003. If you are using a later version (Word 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Word, click here: Automatic Page Numbers across Multiple Documents.

Abulkalam has multiple documents that he wants to have continuous page numbering from one document to the other. If one document has an added or deleted page, then he has to manually change the page numbering in the following documents. He knows he could use master documents and subdocuments, but that can of worms is one he doesn't want to open. Abulkalam wonders if there is a way that he could avoid the need to manually change page numbers all the time.

There is no way to do this automatically in Word. You can try a workaround, by using fields within your documents, but that gets a bit complex. As an example, let's suppose that you have three documents, each representing chapters in a larger book. Chap1.doc has 15 pages, Chap2.doc has 11 pages, and Chap3.doc has 17 pages. Start by opening Chap1.doc and follow these general steps:

  1. Somewhere on the second-to-last page of the document (page 14, in this case) insert a continuous section break.
  2. Within the footer of the document's first section, press Ctrl+F9. This inserts a pair of field braces into which you should type the word PAGE.
  3. Press F9 to collapse the field you just created. This represents the page number of the current page.
  4. In the Header and Footer toolbar (it should be visible because you are working in the footer), click the Show Next button. This moves you to the footer in the last section of the document, which is after the section break you inserted in step 1.
  5. Click the Same as Previous tool so that it is not selected. This "unlinks" the footer in the last section from the footer you previously created.
  6. Delete the PAGE field in the footer. (Don't worry; the field still exists in previous pages because you unlinked this section's footer from the previous section's footer.)
  7. Press Ctrl+F9 to insert a pair of field braces into which you should type the word NUMPAGES.
  8. Press F9 to collapse the field you just created.
  9. Select the field you just created and press Shift+Ctrl+F5. Word displays the Bookmark dialog box. (See Figure 1.)
  10. Figure 1. The Bookmark dialog box.

  11. Type a simple bookmark name, such as bk. When you click Add, the bookmark is created.
  12. Close the Bookmark dialog box.
  13. Close the Header and Footer toolbar and save your document.

Now, you need to follow the same general steps in the Chap2.doc document, except that the fields you use need to be a bit more complex. Assuming that the document files are stored in the directory at C:\MyDocs\Example, you would use the following compound field in step 2:

{ ={ INCLUDETEXT "\\MyDocs\\Example\\Chap1.doc" bk \! } + { PAGE } }

What this does is use the INCLUDETEXT field to grab whatever is in the bookmark named bk from Chap1.doc (which is the total number of pages in that document) and then add the current page number to that value. Thus, numbering continues from whatever the page count was in Chap1.doc.

The field that you should use in step 7 is similarly complex:

{ ={ INCLUDETEXT "\\MyDocs\\Example\\Chap1.doc" bk \! } + { NUMPAGES } }

That's it for your Chap2.doc file; the page numbering should work just fine. In the Chap3.doc file you follow the same steps, again, using the same complex fields that you did in the Chap2.doc file. The only difference is that you reference Chap2.doc in the fields, in this manner:

{ ={ INCLUDETEXT "\\MyDocs\\Example\\Chap2.doc" bk \! } + { PAGE } }
{ ={ INCLUDETEXT "\\MyDocs\\Example\\Chap2.doc" bk \! } + { NUMPAGES } }

Note that whenever you add or delete pages from any of the documents, the page numbers within them are updated automatically when the fields are updated. (Fields are updated when you manually update them or when you choose to print or use print preview.)

There are, of course, a few "gottchas" you need to keep in mind when using this approach. First, if you delete the continuous section break (step 1) from any of the files, you will really mess things up. Second, if you move the documents to a different folder (or send them to another person who uses a different folder), then the fields won't work at all. Third, if you use multiple sections in your documents, then this approach can get quite a bit more complex as you attempt to compensate for those sections.

Another approach is to use a macro to handle the page numbering. The macro could step through all your files and set the starting page numbers to be whatever is appropriate for those files. The following is an example of such a macro:

Sub PageNumberReset()
    Dim pgNo As Long
    Dim n As Long
    Dim pathName As String
    Dim fileNames
    Dim thisFile As String
    Dim aRange As Range

    ' Specify the path to the document files
    pathName = "C:\MyDocs\Example\"
    ' Create an array holding the document file names, in sequence
    fileNames = Array("Chap1.doc", "Chap2.doc", "Chap3.doc")

    pgNo = 0
    For n = 0 To UBound(fileNames)
        thisFile = pathName & fileNames(n)
        Application.Documents.Open (thisFile)
        ActiveDocument.Sections(1).Headers(1).PageNumbers.StartingNumber = pgNo + 1
        Set aRange = ActiveDocument.Range
        aRange.Collapse Direction:=wdCollapseEnd
        aRange.Select
        pgNo = Selection.Information(wdActiveEndAdjustedPageNumber)
        Application.Documents(thisFile).Close Savechanges:=wdSaveChanges
    Next n
End Sub

To use the macro, you only have to specify the directory in which the documents are stored and put the document file names into the fileNames array. The macro sets the first document to start at page 1 and each subsequent document to start at one more than the highest page number in the previous document. If you change the number of pages in any of the documents, you'll need to rerun the macro.

If you don't want to use fields or macros to do the page numbering, you could rethink your document structure and combine all the different documents into a single document. You could also get away from Word entirely and do your page layout in desktop publishing program, such as InDesign, which is specialized to handle multiple-file page numbering.

WordTips is your source for cost-effective Microsoft Word training. (Microsoft Word is the most popular word processing software in the world.) This tip (1843) applies to Microsoft Word 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Word (Word 2007 and later) here: Automatic Page Numbers across Multiple Documents.

Related Tips:

Create Custom Apps with VBA! Discover how to extend the capabilities of Office 2013 (Word, Excel, PowerPoint, Outlook, and Access) with VBA programming, using it for writing macros, automating Office applications, and creating custom applications. Check out Mastering VBA for Office 2013 today!

 

Leave your own comment:

*Name:
Email:
  Notify me about new comments ONLY FOR THIS TIP
Notify me about new comments ANYWHERE ON THIS SITE
Hide my email address
*Text:
*What is 5+3 (To prevent automated submissions and spam.)
 
 
           Commenting Terms

Comments for this tip:

Claudia    19 Jul 2016, 14:11
Hi9 this is what I have and it keeps pointing to Application.documents.open (thisFile)as a problem line

Sub PageNumberReset()
    Dim pgNo As Long
    Dim n As Long
    Dim pathName As String
    Dim fileNames
    Dim thisFile As String
    Dim aRange As Range
      pathName = "C:\Users\crosas-abella\Desktop\Page Number folder"
      fileNames = Array("Section 0a Executive Summary.docm", "Section 0b Site Description.docm", "Section 0c Utility Summary.docm")
    pgNo = 0
    For n = 0 To UBound(fileNames)
        thisFile = pathName & fileNames(n)
        Application.Documents.Open (thisFile)
        ActiveDocument.Sections(1).Headers(1).PageNumbers.StartingNumber = pgNo + 1
        Set aRange = ActiveDocument.Range
        aRange.Collapse Direction:=wdCollapseEnd
        aRange.Select
        pgNo = Selection.Information(wdActiveEndAdjustedPageNumber)
        Application.Documents(thisFile).Close Savechanges:=wdSaveChanges
    Next n
End Sub
Tanaporn    24 Jun 2015, 10:27
I'm sorry I did everything as you said but it keeps show me this message '!Syntax Error, {'. What should I do to fix this?

I'm using word 2013 on windows 8.
Thank you
Maryke    10 Jul 2014, 08:23
You are a brilliant person. Thank you so much for this post, you saved me a ton of work.
 
 

Our Company

Sharon Parq Associates, Inc.

About Tips.Net

Contact Us

 

Advertise with Us

Our Privacy Policy

Our Sites

Tips.Net

Beauty and Style

Cars

Cleaning

Cooking

DriveTips (Google Drive)

ExcelTips (Excel 97–2003)

ExcelTips (Excel 2007–2016)

Gardening

Health

Home Improvement

Money and Finances

Organizing

Pests and Bugs

Pets and Animals

WindowsTips (Microsoft Windows)

WordTips (Word 97–2003)

WordTips (Word 2007–2016)

Our Products

Helpful E-books

Newsletter Archives

 

Excel Products

Word Products

Our Authors

Author Index

Write for Tips.Net

Copyright © 2016 Sharon Parq Associates, Inc.