Written by Allen Wyatt (last updated December 18, 2021)
This tip applies to Word 97, 2000, 2002, and 2003
When you are working with forms, you save the forms as templates that are used as the basis of new documents in Word. There may be times when you want to add a form field that increments every time you create a new document based on your form template. For instance, you might have a sequence number that you need for a data input form, or you may want to use a form field to indicate an invoice number.
Word does not have any fancy auto-increment fields. However, by combining some of the tools already available in Word, you can create a template and form field to do the trick for you. Start with this macro:
Sub AutoNew() ' Exit macro if no fields in document If ActiveDocument.FormFields.Count = 0 Then Exit Sub ' Create variables. Dim OfficeAppName As String Dim RegSection As String Dim RegKey As String Dim FieldObj As Object Dim RegValue As Long OfficeAppName = "Word 2002" RegSection = "UserData" RegKey = "Current Counter" ' Generate error if form field doesn't exist On Error GoTo ErrHandler Set FieldObj = ActiveDocument.FormFields("IncField") ' Get stored registry value, if any RegValue = GetSetting(OfficeAppName, RegSection, RegKey, 0) ' If not previously set, set to default If RegValue = 0 Then RegValue = 1 ' Set form field result to stored value FieldObj.Result = CStr(RegValue) ' Increment and update invoice number SaveSetting OfficeAppName, RegSection, RegKey, RegValue + 1 ErrHandler: If Err <> 0 Then MsgBox Err.Description End If End Sub
This macro should be saved only in the template that you will use to create your forms. The macro must be named AutoNew, so it will run whenever a document is created that is based on the form template. You should also make sure that you have a text form field in your document named IncField, which will display the incremental number. The number is tracked in the Registry so it can be accessed for future forms.
Notice the line in the macro that sets the OfficeAppName variable. In this version of the macro, it is set to the phrase "Word 2002". If you are using a different version of Word, you should modify this line so it refers to your version, such as "Word 2000" or "Word 2003".
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 (1329) 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: Auto-incrementing Form Fields.
Do More in Less Time! Are you ready to harness the full power of Word 2013 to create professional documents? In this comprehensive guide you'll learn the skills and techniques for efficiently building the documents you need for your professional and your personal life. Check out Word 2013 In Depth today!
If you need to control exactly where text will appear on the page or relative to other text, you need to know about the ...
Discover MoreWord allows you to insert simple formulas, using fields, in table cells. You can also create simple conditional ...
Discover MoreOne of the pieces of information tracked by Word is when a document was first created. Here's how you can access that ...
Discover MoreFREE SERVICE: Get tips like this every week in WordTips, a free productivity newsletter. Enter your address and click "Subscribe."
There are currently no comments for this tip. (Be the first to leave your comment—just use the simple form above!)
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 © 2025 Sharon Parq Associates, Inc.
Comments