99292
Goto Top

Signatur Auswahl beim Erstellen einer neuer Nachricht in Outlook 2010

Hallo in die Runde ...

wir benutzen verschiedene Signaturen innerhalb von Outlook 2010 (1 Mail-Konto)
d.h.
Momentan müssen wir bei jeder neuen Nachricht die Signatur über das Menü "Signatur" etc. auswählen.

Nun möchten wir das aber vereinfachen.

z.B. das beim Erstellen einer neuen Mail Outlook autom. ein Popup Fenster erschient, wo die Signatur ausgewählt werden kann.
Und anschließend die Mail geschrieben und versendet.

Gibt es eine Möglichkeit das Einfügen der Signaturen zu vereinfachen, bzw. zu prüfen ob überhaupt eine Signatur eingefügt worden ist, bevor die Mail versandt wird?

Wir sind für jeden Tipp dankbar.

Akae11

Content-ID: 237629

Url: https://administrator.de/contentid/237629

Ausgedruckt am: 23.11.2024 um 05:11 Uhr

colinardo
colinardo 09.05.2014, aktualisiert am 12.01.2022 um 12:24:38 Uhr
Goto Top
Hallo Akae11,
das geht leider nur über Umwege, da das Objekt-Modell der Signaturen in VBA nicht verfügbar ist. Hier muss man den Weg über die integrierten Commandbars und dessen Aktionen gehen.
Da mich die Realisierung auch interessiert hat (ich sag mir immer, nothing impossible face-wink) habe ich dazu mal eine kleine Anleitung verfasst:

WICHTIG: Die Funktionalität ist nur unter Outlook 2010 gewährleistet, ab Outlook 2013 gibt es keinen Zugriff mehr auf die für die Signaturen nötigen Commandbars, diese wurden dort entfernt.

back-to-top1. Der Code für ThisOutlookSession im VBA Editor
Du öffnest den VBA Editor (ALT-F11) und fügst diesen Code dort ein. (WiCHTIG, die Variablen ganz am Anfang müssen ganz oben im Code-Fenster eingefügt werden)
Public WithEvents ol_Inspectors As Inspectors
Public WithEvents ol_Inspector As Inspector
Public WithEvents ol_Item As MailItem
Public newMailItem As Boolean

' ### WICHTIG: Die oben stehenden Variablen bitte unbedingt ganz am Anfang des Code-Fensters einfügen !!  

Private Sub Application_Startup()
    Set ol_Inspectors = Application.Inspectors
End Sub

Private Sub ol_Inspector_Activate()
    If newMailItem = True Then
        newMailItem = False
        formSignatures.Show
    End If
End Sub

Private Sub ol_Inspectors_NewInspector(ByVal Inspector As Inspector)
    On Error Resume Next
    Set itm = Inspector.CurrentItem
    If itm.Class = olMail And itm.EntryID = "" And itm.Size = 0 Then  
        Set ol_Inspector = Inspector
        Set ol_Item = Inspector.CurrentItem
    End If
End Sub

Private Sub ol_Item_Open(Cancel As Boolean)
    newMailItem = True
End Sub
back-to-top2. Dateien für den Dialog
Der eigentliche Code für den Dialog selber, befindet sich in zwei Dateien welche du hier als ZIP-File herunterladen kannst. Bitte entpacken und dann im VBA-Editor über Datei > Datei importieren die *.frm-Datei in das Projekt importieren.

back-to-top3. WICHTIG: Jetzt unbedingt einen Neustart von Outlook durchführen.
Jetzt sollte beim Erstellen einer neuen Mail zuerst das Dialogfeld erscheinen in dem man die Signatur auswählt. Direkt nach der Auswahl erscheint die Mail schon mit der eingfügten Signatur.

d4ef6944d240f58b50081f3b2c26917c

Noch ein Hinweis: Falls das Outlook-Projekt nicht ThisOutlookSession sondern DieseOutlookSitzung heißt, muss im Code des Dialogs ThisOutlookSession durch DieseOutlookSitzung 2 mal ersetzt werden.

Hoffe das hilft dir, oder jemand anderem der hier vorbei schaut face-smile

Wie immer ohne Gewähr

Grüße Uwe
99292
99292 12.05.2014 um 16:23:42 Uhr
Goto Top
Hallo Colinardo,

vielen dank für deinen Tipp.

schreibe ich eine neue Email direkt nach dem Neustart den Outlook 2010 funktioniert es fehlerfrei.
Öffne ich aber eine vorhanden Email z.B. im Posteingang erhalte ich einen VB Errror in Zeile 15, und danach ist das Script bis zum nächsten Neustart von Outlook deaktiviert.

Hast du eine Idee woran das liegen kann?

LG

AKae11
colinardo
colinardo 12.05.2014 aktualisiert um 16:41:40 Uhr
Goto Top
Zitat von @99292:
Hast du eine Idee woran das liegen kann?
habe den Code oben aktualisiert, damit läuft es erst mal durch, weitere Tests folgen...
Speichern und danach Outlook neu starten.

Grüße Uwe
99292
99292 14.05.2014 um 11:37:34 Uhr
Goto Top
Hallo Uwe,

vielen Dank für die schnelle Änderung.

Nun funktioniert es face-smile ... bis auf ... wenn ich eine Mail öffne, in der weitere Mails als Anlage angehangen sind. Bim Klick auf die angehängten Mails erhalte ich wieder den gleichen Fehler.

Aber das ist zum Glück sehr selten. 99% sind normale Mails ohne Anhang von Emails.

Gruß

Akae
colinardo
colinardo 14.05.2014 aktualisiert um 18:04:40 Uhr
Goto Top
Zitat von @99292:
Nun funktioniert es face-smile ... bis auf ... wenn ich eine Mail öffne, in der weitere Mails als Anlage angehangen sind. Bim Klick auf die angehängten Mails erhalte ich wieder den gleichen Fehler.
Merci für die Rückmeldung, ist oben gefixt ...

Grüße Uwe
99292
99292 16.05.2014 um 12:45:34 Uhr
Goto Top
Hallo Uwe,

Vielen dank für die schnelle Anpassung.
Es funktioniert face-smile

Schönes WE

Akae
tipetan
tipetan 16.10.2014 um 08:05:17 Uhr
Goto Top
Hallo!
Sehr gut beschrieben und funktionierte auf Anhieb!
- Ist es möglich das Pulldownmenü mit einer Standardsignatur einzustellen?
- Da wir bei uns im Unternehmen sehr viele Signaturen besitzen, wollte ich mal fragen ob man in dem Formular durch einen Haken eine Vorschau in einem Textfeld anzeigen lassen kann.
- - Wenn der Haken gesetzt und die Vorschau angezeigt wird klickt man auf einen Button und übernimmt die angezeigte.
- - Ist der Haken nicht gesetzt, dann wird sofort die angezeigte übernommen.


Danke
Gruß
Tipetan
colinardo
colinardo 16.10.2014 aktualisiert um 13:57:29 Uhr
Goto Top
Hallo tipetan, Willkommen auf Administrator.de!
Zitat von @tipetan:
- Ist es möglich das Pulldownmenü mit einer Standardsignatur einzustellen?
ja, die Einstellung findest du im neuen Code der Form (s. Download unten) / Stelle ist im Code kommentiert.
- Da wir bei uns im Unternehmen sehr viele Signaturen besitzen, wollte ich mal fragen ob man in dem Formular durch einen Haken
eine Vorschau in einem Textfeld anzeigen lassen kann.
- - Wenn der Haken gesetzt und die Vorschau angezeigt wird klickt man auf einen Button und übernimmt die angezeigte.
dazu änderst du den obigen Code in folgenden ab (neu hinzugekommen ist eigentlich nur Zeile 15):
Public WithEvents ol_Inspectors As Inspectors
Public WithEvents ol_Inspector As Inspector
Public WithEvents ol_Item As MailItem
Public newMailItem As Boolean

' ### WICHTIG: Die oben stehenden Variablen bitte unbedingt ganz am Anfang des Code-Fensters einfügen !!  

Private Sub Application_Startup()
    Set ol_Inspectors = Application.Inspectors
End Sub

Private Sub ol_Inspector_Activate()
    If newMailItem = True Then
        newMailItem = False
        ol_Inspector.WindowState = olMinimized
        formSignatures.Show
    End If
End Sub

Private Sub ol_Inspectors_NewInspector(ByVal Inspector As Inspector)
    On Error Resume Next
    Set itm = Inspector.CurrentItem
    If itm.Class = olMail And itm.EntryID = "" And itm.Size = 0 Then  
        Set ol_Inspector = Inspector
        Set ol_Item = Inspector.CurrentItem
    End If
End Sub

Private Sub ol_Item_Open(Cancel As Boolean)
    newMailItem = True
End Sub

Die neue Form mit der gewünschten Funktionalität kannst du hier als ZIP herunterladen formSignatures_AdvancedPreview_237629.zip

Hinweis: Die Datei ist Passwortgeschützt, nach einer Aufwandsentschädigung über mindestens 5€ erhältst du das Passwort für die ZIP-Datei, via persönlicher Nachricht zugeschickt.

Bitte habe Verständnis das ich das für Firmen hier nicht kostenlos anbiete.

Hier eine Vorschau des Dialogs:

c8ac8fa0350b86afc92ed50e8193bf6a

Funktionalität ist nur unter Outlook 2010 gewährleistet, in Outlook 2013 gibt es keinen Zugriff mehr auf die Commandbar-Funktionen.

Grüße Uwe

Falls der Beitrag gefällt, seid so nett und unterstützt mich durch eine kleine Spende / If you like my contribution please support me and donate
colinardo
colinardo 16.10.2014 um 11:53:39 Uhr
Goto Top
An den TO: den Beitrag bitte noch auf gelöst setzen. Merci.