Drucken aller Blätter in einer Excel-Mappe
Office Prof 2007
Moin zusammen,
ich habe da ein Problem mit Excel, wenn ich alle Blätter in einer Excel-Tabelle drucken will. Doch kurz zum Umfeld und dem Grund dieser Frage.
Aus einem Ratsinformationssystem werden sog. Druckmappen erzeugt, welche in gepackter Form alle TOPs enthalten. Diese zip-Datei wird nun in ein Verzeichnis entpackt. Mit "Datei - alles auswählen" werden alle Dateien (Word-, Excel-, PDF- und JPG-Format) markiert. Über die Auswahl "Drucken" sollen nun alle Dateien gedruckt werden. Das klappt für alle Formate bis auf die Excel-Datei. Aus der Excel-Datei wird nur das erste Blatt gedruckt.
Wie kann ich Excel dazu bewegen, aufgrund des oben beschriebenen Vorgehens ("Alles auswählen" und "Drucken") alle Blätter aus der Datei zu drucken?
Nachtrag: Die Tabellenblätter einzeln zu drucken ist keine Option, da die Ausdrucke in der Reihenfolge erscheinen müssen, wie sie als TOP eingegliedert sind. Die so erstellte Druckausgabe ist dann Vorlage für ein Kopiersystem, in welchem n Kopien dieser Druckausgabe erstellt werden.
Hat jemand eine Idee, wie dies mit Bordmitteln zu lösen ist?
Gruß J chem
Moin zusammen,
ich habe da ein Problem mit Excel, wenn ich alle Blätter in einer Excel-Tabelle drucken will. Doch kurz zum Umfeld und dem Grund dieser Frage.
Aus einem Ratsinformationssystem werden sog. Druckmappen erzeugt, welche in gepackter Form alle TOPs enthalten. Diese zip-Datei wird nun in ein Verzeichnis entpackt. Mit "Datei - alles auswählen" werden alle Dateien (Word-, Excel-, PDF- und JPG-Format) markiert. Über die Auswahl "Drucken" sollen nun alle Dateien gedruckt werden. Das klappt für alle Formate bis auf die Excel-Datei. Aus der Excel-Datei wird nur das erste Blatt gedruckt.
Wie kann ich Excel dazu bewegen, aufgrund des oben beschriebenen Vorgehens ("Alles auswählen" und "Drucken") alle Blätter aus der Datei zu drucken?
Nachtrag: Die Tabellenblätter einzeln zu drucken ist keine Option, da die Ausdrucke in der Reihenfolge erscheinen müssen, wie sie als TOP eingegliedert sind. Die so erstellte Druckausgabe ist dann Vorlage für ein Kopiersystem, in welchem n Kopien dieser Druckausgabe erstellt werden.
Hat jemand eine Idee, wie dies mit Bordmitteln zu lösen ist?
Gruß J chem
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 193233
Url: https://administrator.de/contentid/193233
Ausgedruckt am: 21.11.2024 um 21:11 Uhr
8 Kommentare
Neuester Kommentar
Hi Jochem,
im Druckdialog gibt es die Möglichkiet die gesamte Arbeitsmappe statt des aktuellen Arbeitsblattes zu drucken. Das sollte doch auch scriptgesteuert machbar sein.
So wie ich es hier gefunden habe: http://www.computerwissen.de/office/excel/artikel/alle-excel-tabellenbl ...
"Das folgende Makro können Sie einsetzen, um alle Tabellenblätter in der aktiven Arbeitsmappe auszudrucken. Es werden nur die sichtbaren Tabellen gedruckt:
Sub SichtbareTabellenDrucken()
Dim Arbeitsmappe As Worksheet
For Each Arbeitsmappe In Worksheets
If Arbeitsmappe.Visible = True Then
Arbeitsmappe.PrintOut
End If
Next Arbeitsmappe
End Sub
Die Tabellen gibt das Makro auf Ihrem Standarddrucker aus. Zum Testen können Sie das Kommando PrintOut durch den Befehl PrintPreview ersetzen. Dann wird nur die Seitenansicht angezeigt, ohne dass die Tabellen gedruckt werden. "
Gruß
Netman
im Druckdialog gibt es die Möglichkiet die gesamte Arbeitsmappe statt des aktuellen Arbeitsblattes zu drucken. Das sollte doch auch scriptgesteuert machbar sein.
So wie ich es hier gefunden habe: http://www.computerwissen.de/office/excel/artikel/alle-excel-tabellenbl ...
"Das folgende Makro können Sie einsetzen, um alle Tabellenblätter in der aktiven Arbeitsmappe auszudrucken. Es werden nur die sichtbaren Tabellen gedruckt:
Sub SichtbareTabellenDrucken()
Dim Arbeitsmappe As Worksheet
For Each Arbeitsmappe In Worksheets
If Arbeitsmappe.Visible = True Then
Arbeitsmappe.PrintOut
End If
Next Arbeitsmappe
End Sub
Die Tabellen gibt das Makro auf Ihrem Standarddrucker aus. Zum Testen können Sie das Kommando PrintOut durch den Befehl PrintPreview ersetzen. Dann wird nur die Seitenansicht angezeigt, ohne dass die Tabellen gedruckt werden. "
Gruß
Netman
Hallo, Netman.
Daran hatte ich auch schon gedacht, hab es aber noch nicht gepostet.
Grund: Er erstellt ja durch das Programm immer wieder ein neues Excel-File, in welchem der VBA-Code nicht enthalten ist.
Man müsste also die Standard-Druckoptionen im Excel komplett umbiegen, dass er grundsätzlich alle Blätter druckt. Das bedeutet dann bei einer Datei mit nur einem Tabellenblatt aber auch, dass er die Standard-Tabellenblätter (3) mit druckt.
Gruß
Daran hatte ich auch schon gedacht, hab es aber noch nicht gepostet.
Grund: Er erstellt ja durch das Programm immer wieder ein neues Excel-File, in welchem der VBA-Code nicht enthalten ist.
Man müsste also die Standard-Druckoptionen im Excel komplett umbiegen, dass er grundsätzlich alle Blätter druckt. Das bedeutet dann bei einer Datei mit nur einem Tabellenblatt aber auch, dass er die Standard-Tabellenblätter (3) mit druckt.
Gruß
Wenn's auch ein bisschen VBS sein darf ?
Bitteschön:
xls_alle_blaetter_drucken.vbs
Aufrufen mit
Übrigens, dein Kommentar "Ich warte dann mal auf weitere Vorschläge" kommt ein bisschen arrogant rüber, meinste nicht ?
Bitteschön:
xls_alle_blaetter_drucken.vbs
Const xlDoNotSaveChanges = 2
Dim fso, oXL, oWkbk
Set fso = CreateObject("Scripting.FileSystemObject")
Set oXL = CreateObject("Excel.Application")
oXL.Visible = False
If WScript.Arguments.Count = 0 Then
WScript.Quit
Else
For A = 0 To (WScript.Arguments.Count - 1)
If (Right(WScript.Arguments.Item(A), 3) = "xls") _
AND fso.FileExists(WScript.Arguments.Item(A)) Then
Set oWkbk = oXL.Workbooks.Open(WScript.Arguments.Item(A))
oWkbk.PrintOut
oWkbk.Close xlDoNotSaveChanges
End If
Next
End If
oXL.Quit
Set fso = Nothing
Set oXL = Nothing
Aufrufen mit
cscript xls_alle_blaetter_drucken.vbs zu-drucken-datei.xls
Übrigens, dein Kommentar "Ich warte dann mal auf weitere Vorschläge" kommt ein bisschen arrogant rüber, meinste nicht ?
Hallo Jochen!
Wäre die Frage zu klären, ob diese Funktion generell für alle Excel-Dateien aktiv sein soll. D.h. der Anwender bearbeitet andere Dateien und will vielleicht nur eine Seite ausdrucken etc...
Daher mein Vorschlag, wie es zumindest in meiner etwas älteren Excel-Version funktioniert, wäre eine AddIn-Datei (*.xla) in das Verzeichnis
'..\\Users\Administrator\Anwendungsdaten\Microsoft\Excel\XLStart' zu legen, das automatisch beim Excel-Start gestartet wird und alle Druckbefehle abfängt. Hierbei besteht insbesondere auch die Möglichkeit, diese Funktion nur für bestimmte Excel-Mappen zu aktivieren. D.h. z.B. nur Excel-Dateien, die ein bestimmtes Namensmuster oder sonstige Eigenschaften aufweisen.
Gruß Dieter
Wäre die Frage zu klären, ob diese Funktion generell für alle Excel-Dateien aktiv sein soll. D.h. der Anwender bearbeitet andere Dateien und will vielleicht nur eine Seite ausdrucken etc...
Daher mein Vorschlag, wie es zumindest in meiner etwas älteren Excel-Version funktioniert, wäre eine AddIn-Datei (*.xla) in das Verzeichnis
'..\\Users\Administrator\Anwendungsdaten\Microsoft\Excel\XLStart' zu legen, das automatisch beim Excel-Start gestartet wird und alle Druckbefehle abfängt. Hierbei besteht insbesondere auch die Möglichkeit, diese Funktion nur für bestimmte Excel-Mappen zu aktivieren. D.h. z.B. nur Excel-Dateien, die ein bestimmtes Namensmuster oder sonstige Eigenschaften aufweisen.
Gruß Dieter