Outlook: Aktiven Drucker mittels VBA ändern

M

Markus Zänglein

Hallo NG,

Ich würde gerne über VBA Makros den Ausdruck einer Mail auf einem bestimmten
Drucker, zb. PDF Writer veranlassen.

Outlook druckt aber gewöhnlich immer am Windows Standarddrucker aus.
Dies ausnutzend, ändere ich den Standarddrucker, leite den Ausdruck ein und
setze den Drucker anschließend zurück.

Dieses Vorgehen ist zwar etwas unhandlich, aber wie sich jetzt erweist,
leider auch
nicht ganz zuverlässig:

Sobald der Benutzer manuell den Druckdialog aufgerufen hat und eine eigene
Druckerauswahl vorgenommen hat, reagiert Outlook nicht mehr auf eine
Änderung des Standarddruckers.
Nur ein Neustart der Anwendung löst dieses Problem.

Gibt es womöglich noch andere Lösungen, die Outlook dazu bringen, ähnlich
wie in Word, einen aktiven Drucker festlegen zu können?

Da auch der MS Support keine bessere Idee hatte, wäre ich für jede noch so
kleine Anregung dankbar.

mfg

Markus Zänglein
 
M

Michael Bauer

Hallo Markus,
Ich würde gerne über VBA Makros den Ausdruck einer Mail auf einem bestimmten
Drucker, zb. PDF Writer veranlassen.

OL-VBA bietet leider keinen direkten Zugriff auf ein Printer-Objekt.
Wenn Du auch Word auf dem System hast, dann hilft Dir vielleicht
folgender Artikel weiter:
http://www.mvps.org/word/FAQs/MacrosVBA/ChangeCurPrinter.htm.

Falls Du zusätzlich z.B. Visual Basic besitzt und diesen Teil Deiner
Routine in eine VB-DLL auslagern könntest, da gäbe es dann schon mehr
Möglichkeiten.
 
M

Markus Zänglein

Hallo Michael,

danke für den Hinweis
Word ist natürlich verfügbar, aber ich denke nicht, dass dies das Problem
lösen könnte.

Ich habe ja bereits mit Win32 API in der Registry den Drucker geändert und
auch WM_WININICHANGE Msg verschickt.
Das dumme ist nur, dass Outlook nicht in jedem Fall auf dem Standarddrucker
ausdruckt.
Sobald der Benutzer manuell den Druckdialog aufruft und die Druckerauswahl
ändert, bringt eine Umstellung des Standarddruckers nix mehr.

Mir ist nicht klar, was eine Auslagerung in eine VBA DLL hier viel helfen
könnte.
Wenn du trotzdem einen Lösungsansatz siehtst, dann lasse es mich bitte
wissen

mfg

MZ
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top