Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1220to1224
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Mehrere Druckaufträge in einen bündeln VBA

Mehrere Druckaufträge in einen bündeln VBA
Paulo
Hallo an alle,
Hab mal wieder ein Problem wo ich nicht weiter komme.
Um platz zu reduzieren habe ich die Tabelle von 250 Zeilen (10 Seiten) auf 25 Zeilen (1 Seite) gekürzt und eine Bildlaufleiste eingebunden die mir per Auswahl die Formeln ändert.
Um Dieses Problem beim Ausdruck hinzukriegen habe ich eine schleife eingebaut die mir in ein Wert in die Zelle ("AL13") schreibt (zur Formel Berechnung) und dann ausdruckt.
Das Problem er Druckt mir jede Seite einzeln per Druckauftrag.
Kann mann es nicht so machen das er alle Druckaufträge in einen tut.
Mein Code:
Sub Printa()
Dim i As Integer
Application.ScreenUpdating = False
'Application.ActivePrinter = "FreePDF XP auf Ne05:"
With ActiveSheet
.ResetAllPageBreaks
For i = 1 To Range("AL15").Value
Range("AL13").Value = i
With .PageSetup
.PrintArea = "C9:AF47"
.Zoom = 69
.CenterFooter = Range("AL13").Value & " / " & Range("AL15").Value + 1
.RightFooter = Date
End With
.PrintOut 'Copies:=1, ActivePrinter:="FreePDF XP auf Ne05:", Collate:=True
Next i
.ResetAllPageBreaks
Range("A19:A49").EntireRow.Hidden = True
With .PageSetup
.PrintArea = "C9:AF68"
.Zoom = 69
.CenterFooter = Range("AL15").Value + 1 & " / " & Range("AL15").Value + 1
.RightFooter = Date
End With
'.PrintPreview
.PrintOut 'Copies:=1, ActivePrinter:="FreePDF XP auf Ne05:", Collate:=True
End With
Range("A15:A49").EntireRow.Hidden = False
Application.ScreenUpdating = True
End Sub

Gruß an Alle

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Mehrere Druckaufträge in einen bündeln VBA
02.07.2011 13:21:13
fcs
Hallo Paulo,
Excel kann von Haus aus nicht mehrere Druckjobs in eine Druckausgabe zusammenfassen.
Wenn du mit FreePDF deine PDF-Files erzeugst, dann kannst du eine Druckausgabe als Multi-DOC konfigurieren, so dass alle Druckjobs gesammelt werden, bis du im FreePDF-Dialog die Datei speicherst. Eine solche FreePDF-Konfiguration kannst du mit eigenem Namen so einrichten, dass sie wie ein separater Drucker ausgewählt werden kann. Zum Einrichten muss du dich ein wenig mit dem Handbuch zu FreePDF beschäftigen.
Wenn du dein Makro dann ein wenig anpasst kannst du zumindest wahlweise mit dem aktiven Drucker oder der vorkonfigurierten PDF-MultiDoc-Ausgabe arbeiten.
Gruß
Franz
Sub Printa()
Dim i As Integer, sActivePrinter As String, bPDF_multidoc As Boolean
Application.ScreenUpdating = False
'Aktiven Drucker merken
sActivePrinter = Application.ActivePrinter
i = MsgBox("Als pdf-Multidoc drucken?" & vbLf & vbLf _
& "Bei Nein erfolgt Ausgabe auf folgendem Drucker: " & vbLf _
& sActivePrinter, _
vbQuestion + vbYesNoCancel, "Dokument drucken")
If i = vbCancel Then
Exit Sub
ElseIf i = vbYes Then
bPDF_multidoc = True
'FreePDF-Printer mit Multi-Doc-Ausgabe wählen
Application.ActivePrinter = "FreePDF - Zusammenfuegen auf Ne05:"
End If
With ActiveSheet
.ResetAllPageBreaks
For i = 1 To Range("AL15").Value
Range("AL13").Value = i
With .PageSetup
.PrintArea = "C9:AF47"
.Zoom = 69
.CenterFooter = Range("AL13").Value & " / " & Range("AL15").Value + 1
.RightFooter = Date
End With
'.PrintPreview
.PrintOut 'Copies:=1, ActivePrinter:="FreePDF XP auf Ne05:", Collate:=True
Next i
.ResetAllPageBreaks
Range("A19:A49").EntireRow.Hidden = True
With .PageSetup
.PrintArea = "C9:AF68"
.Zoom = 69
.CenterFooter = Range("AL15").Value + 1 & " / " & Range("AL15").Value + 1
.RightFooter = Date
End With
'.PrintPreview
.PrintOut 'Copies:=1, ActivePrinter:="FreePDF XP auf Ne05:", Collate:=True
End With
Range("A15:A49").EntireRow.Hidden = False
Application.ScreenUpdating = True
If bPDF_multidoc = True Then
Application.StatusBar = "PDF-File wird vorbereitet. Bitte warten bis alle Druckvorgänge  _
verarbeitet sind"
Application.Wait Now + TimeSerial(0, 0, 5) '5 Sekunden warten (FreePDF schafft)
'gemerkten Drucker wieder aktivieren
Application.ActivePrinter = sActivePrinter
Application.StatusBar = False
End If
End Sub

Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige