Fortlaufende Rechnungsnummern in Word-Dokumenten

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)

 

Keine Kommentare

Deinen Kommentar hinzufügen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.