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:

Advertisements

8 Gedanken zu “Outlook-Macro für Mail-Schussel

  1. Nicht ganz so offen wie über VB-Macros, aber als Mail-Plugins gibts das offenbar: <br/>&nbsp;<br/>Subjectiviy überprüft den Betreff: <br/>http://www.joeyhagedorn.com/projects/subjectivity <br/>Das ist aber nur bis und mit 10.4 (und Mail.app 2.0) nötig; Mail.app 3.0 unter 10.5 hat das schon fix eingebaut, also kein Plugin/Macro nötig. <br/>&nbsp;<br/>Attachment Scanner warnt bei erwähnten, aber nicht angehängten Attachments: <br/>http://home.cc.gatech.edu/eaganj/MailApp

  2. Ciao GuidoVielen dank für die schnelle Antwort…Schön und gut, aber leider ist der Link auf das Installations-File des Plugins offenbar tot. Alle Seiten die man über google findent zu dem Plugin, weisen auf denselben Server von james r eagen. ist der Server nur momentan down (sieht von seinen Angaben her eher nach abgeschaltet aus!) oder gibts das File auch noch auf anderen Servern??vielen dank für deine Hilfe…

  3. Da ich oft auf Deutsch schreibe, habe ich noch "anhang" statt nur "attach" aufgenommen. Ich bin absolut kein VB Crack, hab’s aber doch geschafft, indem ich die Zeile 17 ersetzt habe durch:intIn = InStr(1, Left(strBody, intIn), "attach") Or InStr(1, Left(strBody, intIn), "anhang")

  4. Meine Firma fügt jedem Mail einen Disclaimer an, in welchem "Attachment" vorkommt. Kann man den Scan des Disclaimers unterdrücken?

Sag was!

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s