Article ID: 161309
Article Last Modified on 1/19/2007
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, click the Index tab in Word Help, type the following text menus
sLeadZeroNum = Format(lRegValue, "000000")
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 sLeadZeroNum 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
' Formats the Form Field with 5 leading Zeros.
sLeadZeroNum = Format(lRegValue, "000000") '<-add your zeros here.
' Set form field result to stored value.
fField.Result = sLeadZeroNum
' Increment and update invoice number.
SaveSetting sAppName, sSection, sKey, lRegValue + 1
errhandler:
If Err <> 0 Then
MsgBox Err.Description
End If
End Sub
For additional information, click the
article number below to view the article in the Microsoft Knowledge Base: 173707 OFF97: 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 kbfaq kbhowto KB161309