In einer Geschäftsumgebung ist es nicht ungewöhnlich, mehrere Kopien eines Dokuments zu drucken. Manchmal ist es vorteilhaft, die Kopien zu nummerieren. Zum Beispiel hätte die erste Kopie (möglicherweise in einer Kopf- oder Fußzeile) den Text „Kopie 1“, die zweite „Kopie 2“ auf bis zu so vielen Kopien, wie Sie haben.

Eine Möglichkeit besteht natürlich darin, die einzelnen Kopien des Dokuments zu drucken und die Kopiennummer zwischen den einzelnen Drucken zu bearbeiten. Das wird sehr schnell langweilig. Möglicherweise möchten Sie auch ein fortlaufendes Nummerierungsfeld verwenden (wie in anderen WordTips beschrieben) und die Anzahl der Kopien an die Anzahl der zu druckenden Kopien anpassen. Wenn Sie also 25 Kopien drucken müssen, können Sie einfach das gesamte Dokument (einschließlich des Felds für die fortlaufende Nummerierung) kopieren, zum Ende des Dokuments wechseln und es weitere 24 Mal einfügen. Dies führt jedoch zu einem ziemlich großen Gesamtdokument, und es gibt einfachere Möglichkeiten, das Problem anzugehen.

Die vielleicht einfachste Lösung für dieses Problem (ohne ein Makro zu verwenden) besteht darin, einfach die Seriendruckfunktionen von Word zu verwenden. Sie würden eine einfache Datenquelle verwenden, die die Nummern enthält, die jeder Kopie zugewiesen werden sollen. Platzieren Sie dann das Zusammenführungsfeld an der entsprechenden Stelle in Ihrem Dokument und führen Sie die Zusammenführung aus. Jede Kopie enthält die gewünschte Kopiennummer. Der zusätzliche Vorteil dieses Ansatzes besteht darin, dass Sie bei Ihrer Zusammenführung je nach Bedarf zusätzliche Informationen verwenden können. Wenn beispielsweise jede Kopie des Dokuments einer bestimmten Person zugewiesen wurde, können Sie Ihrer Datenquelle einfach ein weiteres Datenfeld hinzufügen, das den Namen der Person enthält, die die Kopie erhalten soll. Anschließend können Sie den Namen dieser Person auch in jedes zusammengeführte Dokument drucken.

Wenn Sie möchten, können Sie Ihre nummerierten Kopien mit einem Makro ausdrucken.

Das folgende Makro fragt Sie beispielsweise, wie viele Kopien Sie drucken möchten, zusammen mit der zu verwendenden Startkopienummer. (Dies ist sehr praktisch, wenn Sie 25 Kopien drucken und dann jemand Sie auffordert, einen zweiten Stapel von 10 Exemplaren mit den Nummern 26 bis 35 zu drucken.) Das Makro speichert auch die letzte Kopiennummer zwischen den Sitzungen, sodass sie als Standard verwendet wird Wenn Sie das Makro das nächste Mal ausführen.

Public Sub PrintNumberedCopies1()

Dim varItem As Variable     Dim bExists As Boolean     Dim lCopiesToPrint As Long     Dim lCounter As Long     Dim lCopyNumFrom As Long

' ensure our doc variable exists     bExists = False     For Each varItem In ActiveDocument.Variables         If varItem.Name = "CopyNum" Then             bExists = True             Exit For         End If     Next varItem

' initialize document variable if doesn't exist     If Not bExists Then         ActiveDocument.Variables.Add _             Name:="CopyNum", Value:=0     End If

' ask how many to print     lCopiesToPrint = InputBox( _         Prompt:="How many copies?", _         Title:="Print And Number Copies", _         Default:="1")



' ask where to start numbering     lCopyNumFrom = CLng(InputBox( _         Prompt:="Number at which to start numbering copies?", _         Title:="Print And Number Copies", _         Default:=CStr(ActiveDocument.Variables("CopyNum") + 1)))



' loop through the print-write-print cycle     For lCounter = 0 To lCopiesToPrint - 1         ' update the document variable         ActiveDocument.Variables("CopyNum") = _             lCopyNumFrom + lCounter         ' print this numbered copy         ActiveDocument.PrintOut Copies:=1     Next lCounter End Sub

Um dieses Makro verwenden zu können, müssen Sie zwei weitere Dinge tun.

Zunächst müssen Sie in Ihrem Dokument angeben, wo die Kopiennummer angezeigt werden soll. Fügen Sie an der Stelle, an der gedruckt werden soll, einfach das folgende Feld ein (denken Sie daran, dass Sie die Feldklammern durch Drücken von Strg + F9 einfügen):

{ DOCVARIABLE "CopyNum" }

Als zweites müssen Sie sicherstellen, dass Word so konfiguriert ist, dass Felder beim Drucken aktualisiert werden. Wenn Sie nun das Makro ausführen, werden Sie gefragt, wie viele Kopien gedruckt werden sollen und welche Startnummer verwendet werden soll. Die Dokumentvariable wird aktualisiert und eine einzelne Kopie des Dokuments wird gedruckt. Diese Schritte werden so oft wiederholt, wie Sie gedruckt haben.

Leider funktioniert diese Makrolösung nicht in allen Versionen von Word. Wenn Sie beispielsweise das Feld DOCVARIABLE in die Kopfzeile eines Word 97-Dokuments einfügen und das Dokument dann drucken, stürzt Word sofort ab.

Wie kann man das umgehen? Verwenden Sie einfach einen anderen Ansatz. (Word ist nichts, wenn nicht flexibel.) Das folgende Makro funktioniert in allen modernen Versionen von Word. Es handelt sich um eine Variante der früheren Version, bei der benutzerdefinierte Dokumenteigenschaften anstelle von Dokumentvariablen verwendet werden.

Public Sub PrintNumberedCopies2()

Dim varItem As DocumentProperty     Dim bExists As Boolean     Dim lCopiesToPrint As Long     Dim lCounter As Long     Dim lCopyNumFrom As Long

' ensure our doc variable exists     bExists = False     For Each varItem In ActiveDocument.CustomDocumentProperties         If varItem.Name = "CopyNum" Then             bExists = True             Exit For         End If     Next varItem

' initialize document variable if doesn't exist     If Not bExists Then         ActiveDocument.CustomDocumentProperties.Add _             Name:="CopyNum", LinkToContent:=False, _             Type:=msoPropertyTypeNumber, Value:=0     End If

' ask how many to print     lCopiesToPrint = InputBox( _         Prompt:="How many copies?", _         Title:="Print And Number Copies", _         Default:="1")



' ask where to start numbering     lCopyNumFrom = CLng(InputBox( _         Prompt:="Number at which to start numbering copies?", _         Title:="Print And Number Copies", _         Default:=CStr(ActiveDocument.CustomDocumentProperties("CopyNum") + 1)))



' loop through the print-write-print cycle     For lCounter = 0 To lCopiesToPrint - 1         ' update the document variable         ActiveDocument.CustomDocumentProperties("CopyNum") = _             lCopyNumFrom + lCounter         ' print this numbered copy         ActiveDocument.PrintOut Copies:=1     Next lCounter End Sub

Um dieses Makro verwenden zu können, müssen Sie zwei weitere Dinge tun.

Zunächst müssen Sie in Ihrem Dokument angeben, wo die Kopiennummer angezeigt werden soll. Fügen Sie an der Stelle, an der gedruckt werden soll, einfach das folgende Feld ein (denken Sie daran, dass Sie die Feldklammern durch Drücken von Strg + F9 einfügen):

{ DOCPROPERTY "CopyNum" }

Wenn Sie das Feld zum ersten Mal einfügen, wird möglicherweise eine vom Feld zurückgegebene Fehlermeldung angezeigt, z. B. „Fehler! Unbekannter Name der Dokumenteigenschaft“. Mach dir keine Sorgen; Dies verschwindet und wird durch die richtige Kopiennummer ersetzt, nachdem Sie das Makro ausgeführt haben.

Als zweites müssen Sie sicherstellen, dass Word so konfiguriert ist, dass Felder beim Drucken aktualisiert werden. Wenn Sie nun das Makro ausführen, werden Sie gefragt, wie viele Kopien gedruckt werden sollen und welche Startnummer verwendet werden soll. Die Dokumentvariable wird aktualisiert und eine einzelne Kopie des Dokuments wird gedruckt. Diese Schritte werden so oft wiederholt, wie Sie gedruckt haben.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der WordTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

WordTips ist Ihre Quelle für kostengünstige Microsoft Word-Schulungen.

(Microsoft Word ist die weltweit beliebteste Textverarbeitungssoftware.) Dieser Tipp (844) gilt für Microsoft Word 97, 2000, 2002 und 2003. Sie finden eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Word (Word 2007) und später) hier: