Tolle Thesen testen

Zu Games und IT. Wer besser denken kann: per Kommentar beweisen! Diskursiver Positivismus! Oy vey!! 
« Zurück zum Blog

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:

Kommentare (7)

May 24, 2009
Roman Schenk said...
Gibt es sowas auch für Apple Mail? Suche schon lange nach einer solchen Funktion...
May 24, 2009
Guido Berger said...
Nicht ganz so offen wie über VB-Macros, aber als Mail-Plugins gibts das offenbar:
 
Subjectiviy überprüft den Betreff:
http://www.joeyhagedorn.com/projects/subjectivity
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.
 
Attachment Scanner warnt bei erwähnten, aber nicht angehängten Attachments:
http://home.cc.gatech.edu/eaganj/MailApp
May 24, 2009
Roman Schenk said...
Ciao Guido
Vielen 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...

May 24, 2009
Roman Schenk said...
Habe nun einen Server gefunden, der das Plugin zum download anbietet: http://mac.softpedia.com/get/Internet-Utilities/Attachment-Scanner-Plugin.shtml

Nur scheint das Plugin nicht zu wirken. Wenn ich nach der Installation (wie auf der Seite von James R. Eagen beschrieben) ein Mail mit dem Begriff attachment oder Anhang im Inhalt, aber ohne File im Anhang, schreibe wird es anstandslos ohne meckern verschickt... Was mache ich falsch?

May 25, 2009
Marcel said...
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")

May 25, 2009
Marcel said...
Meine Firma fügt jedem Mail einen Disclaimer an, in welchem "Attachment" vorkommt. Kann man den Scan des Disclaimers unterdrücken?
Jun 03, 2009
Pascal said...
Super, funktioniert bestens. Vielen Dank!!!

Kommentieren...

 
Got an account with one of these? Login here, or just enter your comment below.
Posterous-login    Connect    twitter