Hallo an alle,
ich hab ein sehr sehr großes Problem.
Workground:
Ich hab eine Visual Basic Dll die als Addin in Outlook geladen wird. Dieses
Addin erzeugt Buttons in der Standardsymbolleiste mit dem man dann auf einen
von mir selbst erstellten Drucker mit umgeleiteten Anschluss eine Mail
drucken kann.
Problem:
Natürlich soll meine DLL immer nur auf meinen eigenen Drucker drucken. D.h.
wenn ein anderer Drucker (z.B. ein normaler Netzwerk drucker) in Windows als
Standard definiert ist wird dieser bevor ich meine Mail ausdrucke umgestellt
auf meinen selbsterstellten Drucker. Nachdem der Durchlauf zuende ist wird
natürlich der alte Standarddrucker wieder zurückgesetzt. (Natürlich alles im
Code!) So mein Problem ist nun das wenn ich zuerste eine Mail ganz normal
auf Papier ausdrucke und dann, per selbsterstellte Symbolleiste, die gleiche
Mail auf meinen virtuellen Drucker schicke das dann Outlook diese Aktion
nicht mehr mitbekommt und dies dann auch auf Papier ausdruckt.
Mir ist aufgefallen das Outlook nicht ständig schaut welcher gerade der
aktuelle Standarddrucker ist.
Und das ist eben mein Problem. Auch wenn ich im Code genau eine zeile bevor
ich ausdrucke nochmal schaue ob mein Drucker nun der Standarddrucker ist,
schauen alle bisherige Methode die ich benutzt habe immer noch Windowsseitig
drauf! Und in dem Fall ist ja mein virtueller Drucker als Standard gesetzt.
Nur Outlook hat intern immer noch den alten Standarddrucker stehen.
Ich brauch nun eine Methode die nicht Windowsseitig nach dem Standarddrucker
schaut sondern in Outlook schaut welcher Drucker gerade als Standard
verwendet wird.
Ich hab mir das so vorgestellt:
--------------------------------------------------------
Dim OutlookApplication As Outlook.Application
Set olApp as OutlookApplication
Dim s_tmp as String
s_tmp = olapp.actPrinter
--------------------------------------------------------
Diese Methode gibt es natürlich nicht! Ich hab es nur so hingeschrieben
damit ihr mein Problem eher versteht.
Ich hoff es kann mir irgendjemand helfen!
gruß
ich hab ein sehr sehr großes Problem.
Workground:
Ich hab eine Visual Basic Dll die als Addin in Outlook geladen wird. Dieses
Addin erzeugt Buttons in der Standardsymbolleiste mit dem man dann auf einen
von mir selbst erstellten Drucker mit umgeleiteten Anschluss eine Mail
drucken kann.
Problem:
Natürlich soll meine DLL immer nur auf meinen eigenen Drucker drucken. D.h.
wenn ein anderer Drucker (z.B. ein normaler Netzwerk drucker) in Windows als
Standard definiert ist wird dieser bevor ich meine Mail ausdrucke umgestellt
auf meinen selbsterstellten Drucker. Nachdem der Durchlauf zuende ist wird
natürlich der alte Standarddrucker wieder zurückgesetzt. (Natürlich alles im
Code!) So mein Problem ist nun das wenn ich zuerste eine Mail ganz normal
auf Papier ausdrucke und dann, per selbsterstellte Symbolleiste, die gleiche
Mail auf meinen virtuellen Drucker schicke das dann Outlook diese Aktion
nicht mehr mitbekommt und dies dann auch auf Papier ausdruckt.
Mir ist aufgefallen das Outlook nicht ständig schaut welcher gerade der
aktuelle Standarddrucker ist.
Und das ist eben mein Problem. Auch wenn ich im Code genau eine zeile bevor
ich ausdrucke nochmal schaue ob mein Drucker nun der Standarddrucker ist,
schauen alle bisherige Methode die ich benutzt habe immer noch Windowsseitig
drauf! Und in dem Fall ist ja mein virtueller Drucker als Standard gesetzt.
Nur Outlook hat intern immer noch den alten Standarddrucker stehen.
Ich brauch nun eine Methode die nicht Windowsseitig nach dem Standarddrucker
schaut sondern in Outlook schaut welcher Drucker gerade als Standard
verwendet wird.
Ich hab mir das so vorgestellt:
--------------------------------------------------------
Dim OutlookApplication As Outlook.Application
Set olApp as OutlookApplication
Dim s_tmp as String
s_tmp = olapp.actPrinter
--------------------------------------------------------
Diese Methode gibt es natürlich nicht! Ich hab es nur so hingeschrieben
damit ihr mein Problem eher versteht.
Ich hoff es kann mir irgendjemand helfen!
gruß
Zuletzt bearbeitet: