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.
Written by Allen Wyatt (last updated May 1, 2021)
This tip applies to Word 97, 2000, 2002, and 2003
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:
Figure 1. The Bookmark dialog box.
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.
Note:
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.
Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!
Need to format the page numbers you added to your document? Word makes it easy, using the same techniques you use to ...
Discover MorePage numbers are a common addition to documents, and a great aid to readers. If you want to easily format page numbers, ...
Discover MoreIf you have a document where the page numbers are always zero, you may be rightly wondering what is happening. This tip ...
Discover MoreFREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
2021-05-11 17:30:41
V. Enteux
This is exactly what I'm looking for, but the code doesn't seem to work for me. It keeps getting stuck on this line: "Application.Documents(thisFile).Close Savechanges:=wdSaveChanges". I'm not sure what the problem is.
Got a version of Word that uses the menu interface (Word 97, Word 2000, Word 2002, or Word 2003)? This site is for you! If you use a later version of Word, visit our WordTips site focusing on the ribbon interface.
Visit the WordTips channel on YouTube
FREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
Copyright © 2024 Sharon Parq Associates, Inc.
Comments