Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
180to184
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
180to184
180to184
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Druck Steuerung per VBA

Druck Steuerung per VBA
15.11.2002 00:01:08
Björn
Hei zusammen,

in Zusammenhang mit einem kleinen VBA-Projekt habe ich eine Reihe von Fragen zur Drucksteuerung per VBA, auf die ich bisher keine Antwort gefunden habe. Die erste betrifft das automatisch bei jedem initierten Druckaufrag ausgegebene Messagefenster "Ausdruck". Läßt sich die Druckbestätigung irgendwie unterdrücken? Application.DisplayAlerts = False hilft hier leider nicht weiter. Das Script steuert automatisch den Druck von individualisierten Formularen aus einer DB mit 12.000 Zeilen. Pro Druck-Routine können uU schon mehrere Stunden vergehen. Das Flackern der Druckinfo über den Monitor ist in diesem Fall sehr störend.
Frage 2 betrifft die Einstellung des Druckers. Für

Drucker = Application.ActivePrinter
If Drucker <> "Modell xyz"

Soll nach

Msgbox "Bitte setzen Sie die Einstellungen auf min 600 DPI und Präsentationsmodus"

über

SendKeys "%e%z"
SendKeys "{tab}"
Application.Dialogs(xlDialogPrint).Show

der Einstelldialog für den Printer aufgerufen werden und dem Anwender so die Eingabe der gewünschten Parameter erleichtert werden.

Da aus dem Exel-AddIn aber aus vier verschiedenen Tabellenblättern gedruckt werden soll, müßte die Einstellung für jedes Tabellenblatt wiederholt werden, da sich Excel standardmäßig wohl nur die Parameter je wks merkt. Gibt es hier eine Möglichkeit, die Einstellung auf einmal für alle Tabellenblätter vorzunehmen? Über "Ausdruck ganze Arbeitsmappe" oder "Ausdruck der markierten Tabellenblätter" geht es jedenfalls nicht.

Hat jemand eine Anregung?

Vielen Dank!


Björn


4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Druck Steuerung per VBA
15.11.2002 00:24:06
Arnold
@Björn,
Anregung? ja: erstelle doch a) eine eigene Exceldatei, b) ein eigenen Karteireiter: was dann gedruckt wird. Damit ist die "Druckvorschau" für den User gegeben und er kann sagen: Jetzt will ich drucken (1 Mal). Ob das dann Stunden braucht, hängt eigentlich einzig vom Drucker ab...

Vielleicht har aber jemand eine intelligentere Lösung, würde mich auch interessieren.

Gruß Arnold

Re: Druck Steuerung per VBA
15.11.2002 05:52:13
andre
Hallo Björn,
zeichne mal mit dem Makrorecorder auf, was Du alles so beim Drucken einstellen willst. Da hast Du eine Grundlage für Deinen code.
Für die ganze Arbeitsmappe bastelst Du eine Schleife drum, nach dem Motto For Each Blätter in Sheets()

hier mal ein code von mir, da ging's um mehrere Mappen, aber automatisches Umstellen von A4 hoch auf A3 quer auf einem bestimmten Drucker.

gruss andre

Anzeige
Re: Druck Steuerung per VBA
15.11.2002 12:22:51
Bjoern
Hei Arnold und Andre,

Danke für Euere Anregungen! Allerdings fürchte ich, daß beide Ansätze nicht allzu weit führen. Das Problem ist, daß man aus Excel heraus per Excel-VBA wohl nicht direkt die Paramter des Druckertreibers einstellen kann. Daher kann auch der Makro-Rekorder nie über den (ersten) Excel-eigenen Druckerdialog hinaus aufzeichnen. Was darüber hinaus beim ersten Druck eingestellt wurde, liegt für Excel selbst gleichsam im Dunklen. Eine Überlegung wäre allenfalls gewesen, ob man vielleicht die Sendkey-Befehle im Hintergrund für das erste Tabellenblatt aufzeichnen könnte und diese dann für die weiteren wks automatisch durchlaufen lassen könnte oder ob es - und das ist vermutlich der erfolgversprechendste Ansatz - eine Möglichkeit gibt, schon über den Excel-eigenen Dialog alle Einstellungen für ein Tabellenblatt auch auf alle anderen zu übertragen. Wenn man eine Arbeitspmappe als ganzes ausdrucken möchte und die Voreinstellung "Ganze Arbeitsmappe drucken" im Exceldruck-Dialog hewählt hat, werden sämtliche Druckeinstellungen ja auch auf alle wks angewendet. Nur leider scheint das nur zu funktionieren, wenn man den Druckauftrag so auch absendet. Jedenfalls bleiben die Einstellungen NICHT auch in allen anderen Tabellenblättern so gespeichert.
Theoretisch müßte es natürlich darstellbar sein, die Einstellungen im Druckertreiber für den Druck des ersten wks auch auf die anderen zu übertragen. Denn offensichtlich vermag Excel ja eben doch auch die tieferliegenden Druckereinstellungen je Tabellenblatt *irgendwo* zu speichern. Es muß also gehen. Nur eben wie?

Grüße

Björn

Anzeige
Re: Druck Steuerung per VBA
15.11.2002 17:38:57
andre
Hallo Björn,
das was Du von einem Blatt aufs nächste übertragen kannst geht mit dem Recorder aufzuzeichnen.
Die Einstellung des Druckers bleibt im allgemeinen, die musst Du also nur vor dem ersten Drucken ändern:

dialogAntw = Application.Dialogs(xlDialogPrinterSetup).Show


In der Recherche zum Drucken findest Du u.a. das:

https://www.herber.de/forum/archiv/96to100/t97848.htm
und das
~a~https://www.herber.de/forum/archiv/40to44/t40184.htm~z~

gruss andre

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige