Outlook-Macro für Mail-Schussel
Schon wieder vergessen, etwas in die Betreffzeile zu schreiben? Oder das im Mail versprochene Attachment auch wirklich anzuhängen? Für Outlook gibt es Macros, die genau das verhindern. Ich habe zwei im Netz gefunden und daraus eines gemacht, das gleich beides kann. So geht's:
1. Im Outlook „Extras/Makro/Visual Basic Editor” öffnen.
2. Links “Projekt1 (VbaProjekt.OTM)” aufklappen (auf das Plus klicken).
3. Evtl. “Microsoft Office Outlook Objekte“ auch aufklappen.
4. “ThisOutlookSession” doppelklicken, rechts geht ein Fenster auf.
5. Den folgenden Code dort hineinkopieren (alles zwischen den gestrichelten Linien):
-----
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim strBody As String, strSubject As String, strErrMsg As String
Dim intIn As Long
Dim intAttachCount As Integer, intStandardAttachCount As Integer, intErrCount As Integer
intStandardAttachCount = 0
intErrCount = 0
strErrMsg = ""
strBody = LCase(Item.Body)
strSubject = Item.Subject
intIn = InStr(1, strBody, "original message")
If intIn = 0 Then intIn = Len(strBody)
intIn = InStr(1, Left(strBody, intIn), "attach")
intAttachCount = Item.Attachments.Count
If intIn > 0 And intAttachCount <= intStandardAttachCount Then
strErrMsg = strErrMsg & "Wollten Sie ein Attachment verschicken? Es ist keine Datei angehängt." & vbCrLf
intErrCount = intErrCount + 1
End If
If Len(Trim(strSubject)) = 0 Then
strErrMsg = strErrMsg & "Das Subject ist leer." & vbCrLf
intErrCount = intErrCount + 1
End If
If intErrCount > 0 Then
If MsgBox(strErrMsg & "Möchten Sie das Email trotzdem abschicken?", vbYesNo + vbQuestion + vbMsgBoxSetForeground) = vbNo Then Cancel = True
End If
End Sub
------
Das ganze speichern, und fertig! Jetzt testen, indem man versucht, ein Mail zu verschicken, ohne Subject. Stattdessen sollte eine Bestätigungs-Box kommen; bei "Ja" wird das Mail trotzdem abgeschickt, bei "Nein" nicht, man kann stattdessen editieren.
Ebenso mit Attachments: sollte man irgendwo im Text "attach" geschrieben haben, aber kein Attachment angehängt, kommt die Zwischenfrage.
Spezialfälle:
Möglicherweise hat eure IT-Abteilung das Ausführen von Macros per Richtlinie untersagt. In dem Fall bitte an die IT-Leute wenden, etvl. lassen sie das Macro ja zu. Sollte einer ausserdem einen Verbesserungsvorschlag haben, bitte hier in die Comments posten!
Wenn ihr eine Signatur verwendet, die z.B. Bilder enthält: dann hat ja jedes Mail schon ein Attachment dran. Deshalb muss der Code leicht angepasst werden: in Zeile 6 intStandardAttachCount statt auf 0 auf die Anzahl Attachments in der Signatur setzen. Bei einem Bild muss die Zeile 6 also so aussehen:
intStandardAttachCount = 1
statt so:
intStandardAttachCount = 0
Jetzt sollte der Attachment-Check auch funktionieren, wenn ihr eine Signatur mit Bild verwendet. Übrigens: das Macro ist nicht sehr intelligent; wenn ihr also bloss von einer "Spesenabrechnung" schreibt, schlüpft das Mail trotzdem durch. Ihr müsst explizit die Zeichenfolge "attach" geschrieben haben (also z.B. in "Attachment" oder "attached" oder "attacht" oder "hier das attach mann"), um die Warnung auszulösen.
Danke an René fürs Testen.
Quellen:
Outlook Attachment Reminder (Mark Bird)
Blank Subject Warning for Outlook (Code Project)