Fortlaufende Rechnungsnummern in Word-Dokumenten

In der Praxis kommt es oft vor, dass IGeL-Rechnungen mit identischen Beträgen erstellt werden müssen. Da bietet es sich an, eine Word-Vorlage zu erstellen, die nur noch Name und Anschrift automatisiert übernimmt. Allerdings müssen Rechnungen eine fortlaufende Nummer enthalten.
Zu diesem Zweck erhält die Vorlage ein »AutoNew«-Makro, das beim Erstellen eines neuen Dokuments ausgelöst wird. Die aktuelle Rechnungsnummer wird in einer INI-Datei im Vorlagenordner gespeichert, so dass sie bei der nächsten Verwendung der Vorlage (oder einer anderen mit dem selben Makro) ausgelesen werden kann.

' Increment Invoice Number to New Form Document
Sub AutoNew()
 
  ' Create variables
  Dim fieldName As String
  Dim invNumber As String
  Dim iniFileName As String
  Dim templatePath As String
 
  fieldName = "InvoiceNumber"
  iniFileName = "Rechnungen.ini"
  templatePath = ActiveDocument.AttachedTemplate.Path
 
  ' Read value from INI-file
  invNumber = System.PrivateProfileString(templatePath & _
    "\" & iniFileName, fieldName, "invNumber")
 
  ' Increment invoice number
  If invNumber = "" Then
    invNumber = 1
  Else
    invNumber = invNumber + 1
  End If
 
  ' Update Invoice Number in active document
  ActiveDocument.FormFields(fieldName).Result = invNumber
 
  ' (Over)Write new value to INI-File
  System.PrivateProfileString(templatePath & "\" & _
    iniFileName, "InvoiceNumber", "invNumber") = invNumber
 
End Sub

Das Makro erwartet in der Vorlagedatei ein Textformularfeld mit folgenden Eigenschaften:

TextFormularFeld

Downloads:

Rechnung_HRT-Unters.dot (in Word <Alt + F11> drücken, um den Code zu sehen)

AutoNew.bas (in Word <Alt + F11> drücken, im VBA-Editor „Datei importieren“ wählen)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.