Vba Fortlaufende Nummer beim Drucken
Hallo Pipa,
ich frage mich, ob es eine möglichkeit gibt, ein einseitiges
worddokument (z.b. rechnungsformular) mit einem feld
auszustatten das beim ausdrucken sich fortlaufend um 1 erhöht.
bei 3 x ausdrucken steht in diesem feld im ersten dokument 1
u. im letzten dokument 3.
geht sowas überhaupt?
ja das geht. Schau hier rein: (Ist aus dem Link der in der Brettbeschreibung steht, den würde ich mir als Word-Benutzer bookmarken.)
http://web.archive.org/web/20070402033943/http://myp…
(Beachte, die gute Seite wurde für Version 200-2003 geschrieben, manches wie Schaltflächen zuweisen geht bei Word 2010 nicht mehr so!)
Ich habe anderst codiert, schau hier meine Beispielmappe:
http://www.file-upload.net/download-8169123/kwPipa.d…
Dort siehst du "Ausdrucknummer: ", das ist die sichtbare Beschriftung (Caption) eines Bezeichnungsfeldes (Label) aus den ActveX-Steuerelementen.
Keine Sorge, wo du das findest und wie du selbst da solche „Felder“ einbauen kannst kann man dir hier sagen.
Achja, du mußt die Doc mit aktivierten Makros starten sonst tut sich da nix.
Um Papier zu schonen, lass den Drucker ausgeschaltet und drucke mehrmals aus.
Beobachte dabei wie "Ausdrucknummer: " hochzählt.
Diese Beispielmappe geht erst mal drum ob du das willst mit Makros und so.
Ohne Makros weiß Markus vllt. was mit rein Word, ich nicht.
Und im Gegenzug lade du mal eine Doc hoch mit file-upload, s. FAQ:2606
Sie sollte im grundsätzlichen Ausbau/Struktur schon einer Originalrechnung entsprechen.
Es geht nur um den Kopfbereich, also da wo wohl die fortlaufende Nummer stehen soll.
Daten/Worte kannste aus Datenschutzgründen logo durch xxxx xxxxx xxxxxx ersetzen.
unteren Textteil reicht
=rand()
und enter.
Soll die lfnd. Nr einzeln stehen, mit wie oben Ausdrucknummer o.ä. davor, oder soll das an die Rechnungsnummer angehängt werden?
Nachfolgend noch Details für Word-Vba Interessierte.
Gruß
Reinhard
In Modul „ThisDocument“:
Option Explicit
Dim AppClass As New Klasse1
Private Sub Document\_Open()
Set AppClass.App = Word.Application
End Sub
In einem (eingefügten) Klassenmodul namens „Klasse1“:
Option Explicit
Public WithEvents App As Word.Application
Private Sub App\_DocumentBeforePrint(ByVal Doc As Document, Cancel As Boolean)
With ThisDocument.Label1
.Caption = "Ausdrucknummer: " & Val(Replace(.Caption, "Ausdrucknummer: ", "")) + 1
End With
End Sub