Serienbrief mehrfach drucken

  • Word

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Madde.

    Serienbrief mehrfach drucken

    Hallo Zusammen,

    ich habe eine Excelliste, welche in Word zu einem Serienbrief verarbeitet wird. Soweit so gut.
    Probleme macht der Druck.
    Ich habe den Druckdialog, wo ich die Einstellungen im treiber machen kann. Alles prima.
    Nur eine Sache klappt nicht. Die Anzahl der Exemplare, welche ich im Druckdialog angebe, wird nicht übernommen. er druckt immer nur 1x.

    Habt Ihr da eine Lösung?


    Quellcode

    1. Sub SerienbriefDrucken()
    2. Dim wdApp As Object
    3. Dim wdDoc As Object
    4. Dim strMsg As String, strTitle As String
    5. Set wdApp = VBA.GetObject(Class:="Word.Application")
    6. wdApp.Visible = True
    7. Set wdDoc = wdApp.ActiveDocument
    8. With wdDoc.MailMerge
    9. Dialogs(wdDialogFilePrint).Display
    10. .Destination = 1
    11. .SuppressBlankLines = True
    12. With .DataSource
    13. .FirstRecord = 1
    14. .LastRecord = -16
    15. End With
    16. .Execute Pause:=False
    17. End With
    18. End Sub


    MfG Madde
    Bei einem Seriendruck ist doch die Anzahl der Exemplare in der Steuerdatei vorgegeben.

    Was soll denn der Seriendruck machen, wenn du 3 Kopien angibst?
    Pro Record das Dokument dreimal drucken und dann den nächsten Record ausführen?
    Oder die komplette Serien dreimal hintereinander drucken?
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Madde schrieb:

    jeder Record nach und nach in der gewünschten Anzahl
    wäre eine Eigenschaft der Datasource, und nicht des Druckverfahrens.
    Die Druckerkopien würden am Ende des Druckdokuments (und das ist das Komplettwerk über alle Records) dieses wiederholen.
    Eine Einstellung für Datasource-Kopien gibt es wohl nicht.
    Das kannst du höchsten halbmanuell lösen, in dem du die Datasource-Records entsprechend vervielfachst.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Ich habe jetzt .Destination auf 0, damit mir der fertige Brief geladen wird.
    Hier greift dann auch der Druckdialog.
    Richtig glücklich bin ich nicht, da mir das erzeugte Serienbriefdokument angezeigt wird und erst nach dem Druck mit "ActiveDocument.Close wdDoNotSaveChanges" wieder verschwindet.
    Ich hätte es gern die ganze Zeit unsichtbar aber meine Versuche blieben bislang erfolglos.

    Vielleicht hat ja noch jemand eine Idee.

    Quellcode

    1. Sub SerienbriefDrucken()
    2. Dim wdApp As Object
    3. Dim wdDoc As Object
    4. Dim strMsg As String, strTitle As String
    5. Set wdApp = VBA.GetObject(Class:="Word.Application")
    6. wdApp.Visible = True
    7. Set wdDoc = wdApp.ActiveDocument
    8. With wdDoc.MailMerge
    9. .Destination = 0
    10. .SuppressBlankLines = True
    11. With .DataSource
    12. .FirstRecord = 1
    13. .LastRecord = -16
    14. End With
    15. .Execute Pause:=False
    16. End With
    17. Dialogs(wdDialogFilePrint).Show
    18. ActiveDocument.Close wdDoNotSaveChanges
    19. End Sub


    MfG Madde