Article ID: 183145
Article Last Modified on 8/25/2006
Sub AutoNew()
' If the active document does not contain
' a form field, exit this routine.
If ActiveDocument.FormFields.Count = 0 Then Exit Sub
' Create variables.
Dim sAppName As String
Dim sSection As String
Dim sKey As String
Dim sFieldName As String
Dim lRegValue As Long
Dim lFormValue As Long
Dim iDefault As Integer
sAppName = "Word 97"
sSection = "Invoices"
sKey = "Current Invoice Number"
' The default starting number.
iDefault = 1
' If the specified form field doesn't exist,
' an error will occur.
On Error GoTo errhandler
' Replace the following example Form Field bookmark name,
' "InvoiceNumber", with the name of your form field.
Set fField = ActiveDocument.FormFields("InvoiceNumber")
' Get stored registry value, if any.
lRegValue = GetSetting(sAppName, sSection, sKey, iDefault)
' If the result is zero, set to default value.
If lRegValue = 0 Then lRegValue = iDefault
' Set form field result to stored value.
fField.Result = CStr(lRegValue)
' Increment and update invoice number.
SaveSetting sAppName, sSection, sKey, lRegValue + 1
errhandler:
If Err <> 0 Then
MsgBox Err.Description
End If
End Sub
Sub ResetInvoiceNumber()
' If the active document does not contain
' a form field, exit this routine.
If ActiveDocument.FormFields.Count = 0 Then Exit Sub
' Create variables.
Dim sAppName As String
Dim sSection As String
Dim sKey As String
Dim lRegValue As Long
Dim lFormValue As Long
Dim iDefault As Integer
sAppName = "Word 97"
sSection = "Invoices"
sKey = "Current Invoice Number"
iDefault = 1
' If the specified form field doesn't exist,
' an error will occur.
On Error GoTo errhandler
' Replace the following Form Field bookmark name,
' "InvoiceNumber", with the name of your form field.
Set fField = ActiveDocument.FormFields("InvoiceNumber")
' Get stored registry value, if any.
lRegValue = GetSetting(sAppName, sSection, sKey, iDefault)
' If the result is zero, set to default value.
If lRegValue = 0 Then lRegValue = iDefault
' Get value from formfield. The value cannot be null.
If fField.Result <> "" Then
' If not Null or empty.
lFormValue = fField.Result
Else
' If null or empty, set to default value.
fField.Result = iDefault
lFormValue = iDefault
End If
' See if a new new starting invoice number was entered.
If lFormValue <> lRegValue Then
' If so, make the registery value equal the form value
' and store the new value.
SaveSetting sAppName, sSection, sKey, lFormValue + 1
End If
errhandler:
If Err <> 0 Then
MsgBox Err.Description
End If
End Sub
For more information about adding a command to a menu, click Contents
And Index on the Help menu (or on the Balloon Help menu if you are using a
version of the Macintosh operating system earlier than 8.0), click the Index
button in Word Help, type the following text menus, commands
181058 OFF98: How to Run Sample Code from Knowledge Base Articles
163435 VBA: Programming Resources for Visual Basic for Applications
Additional query words: wordcon vb vba vbe
Keywords: kbdtacode kbhowto kbmacroexample kbtemplate KB183145