Microsoft Outlook 2007: Vorhandensein des Anhanges vor dem Absenden prüfen
Sicherlich kennen Sie das Problem, dass Sie sich in einer E-Mail auf ein angehängtes Dokument beziehen aber vor dem Absenden vergessen die Datei anzuhängen. Das folgende Visual Basic Makro erweitert Microsoft Outlook 2007 um eine entsprechende Prüfung. Dabei wird die Nachricht nach Schlüsselwörtern (siehe Phrases) durchsucht und wenn eines gefunden wurde, wird überprüft ob auch eine Datei angehängt wurde. Sollte dies nicht der Fall sein, wird eine Meldung angezeigt, durch welche Sie die E-Mail nochmals bearbeiten oder ohne Anhang versenden können.
Nachdem Sie Microsoft Outlook 2007 gestartet haben, öffnen Sie mit der Tastenkombination Alt+F11 den Visual Basic Editor. Öffnen Sie jetzt im linken oberen Fenster Projekt1, Microsoft Office Outlook Objekte und anschließend ThisOutlookSession.

Jetzt kopieren Sie den folgenden Visual Basic Code in das Code-Fenster.
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
If Item.Class = olMail Then
Cancel = CheckAttachment(Item)
End If
End Sub
Private Function CheckAttachment(oMail As Outlook.MailItem) As Boolean
Dim Result As Boolean
Dim HasAttachments As Boolean
Dim strMsg As String
Result = False
If NeedsAttachment(oMail.Body) Then
HasAttachments = True
If TypeName(oMail.Attachments) = "Nothing" Then
HasAttachments = False
End If
If oMail.Attachments.Count = 0 Then
HasAttachments = False
End If
If Not HasAttachments Then
strMsg = "Ihre Nachricht hat keinen Anhang." & vbCrLf & "Nachricht ohne Anhang versenden?"
'strMsg = "Your message has no attachment." & vbCrLf & "Send message without attachment?"
Result = (MsgBox(strMsg, vbYesNo + vbQuestion, "Kein Anhang") = vbNo)
'Result = (MsgBox(strMsg, vbYesNo + vbQuestion, "No attachment") = vbNo)
End If
End If
CheckAttachment = Result
End Function
Private Function NeedsAttachment(ByVal text As String) As Boolean
Dim Phrases As Variant
Dim MailBody As String
Dim Result As Boolean
Dim i As Integer, j As Integer
Phrases = Array("anhang", "anlage", "anhängend", "angehängt", "angefügt", _
"beigefügt", "anbei", "attached", "attachment")
MailBody = LCase(text)
Result = False
j = UBound(Phrases)
For i = 0 To j
If InStr(MailBody, Phrases(i)) <> 0 Then
Result = True
Exit For
End If
Next
NeedsAttachment = Result
End Function
If Item.Class = olMail Then
Cancel = CheckAttachment(Item)
End If
End Sub
Private Function CheckAttachment(oMail As Outlook.MailItem) As Boolean
Dim Result As Boolean
Dim HasAttachments As Boolean
Dim strMsg As String
Result = False
If NeedsAttachment(oMail.Body) Then
HasAttachments = True
If TypeName(oMail.Attachments) = "Nothing" Then
HasAttachments = False
End If
If oMail.Attachments.Count = 0 Then
HasAttachments = False
End If
If Not HasAttachments Then
strMsg = "Ihre Nachricht hat keinen Anhang." & vbCrLf & "Nachricht ohne Anhang versenden?"
'strMsg = "Your message has no attachment." & vbCrLf & "Send message without attachment?"
Result = (MsgBox(strMsg, vbYesNo + vbQuestion, "Kein Anhang") = vbNo)
'Result = (MsgBox(strMsg, vbYesNo + vbQuestion, "No attachment") = vbNo)
End If
End If
CheckAttachment = Result
End Function
Private Function NeedsAttachment(ByVal text As String) As Boolean
Dim Phrases As Variant
Dim MailBody As String
Dim Result As Boolean
Dim i As Integer, j As Integer
Phrases = Array("anhang", "anlage", "anhängend", "angehängt", "angefügt", _
"beigefügt", "anbei", "attached", "attachment")
MailBody = LCase(text)
Result = False
j = UBound(Phrases)
For i = 0 To j
If InStr(MailBody, Phrases(i)) <> 0 Then
Result = True
Exit For
End If
Next
NeedsAttachment = Result
End Function
Damit das Makro ausgeführt werden kann, müssen Sie entweder den Makrosicherheitslevel heruntersetzen oder das Makro mit einem eigenen Zertifikat signieren. Zum Signieren des Makros lesen Sie bitte die Anleitung Microsoft Outlook 2007: Visual Basic Makro signieren.
Nachdem Sie das Makro signiert haben, schließen Sie den Visual Basic Editor. Wenn Sie jetzt Microsoft Outlook 2007 beenden, müssen Sie das Visual Basic Projekt noch abspeichern.

Sollten Sie jetzt versuchen eine E-Mail mit einem der Schlüsselwörter im Text und ohne Anhang zu versenden, wird Ihnen die folgende Meldung angezeigt und Sie können entscheiden ob die E-Mail ohne Anhang versendet werden soll oder ob Sie diese nochmals bearbeiten wollen.

Dieser Eintrag wurde am 03.03.2012 erstellt und zuletzt am 24.01.2016 bearbeitet.
Direkter Link zu dieser Seite: http://www.gtkdb.de/index_21_1510.html
[ Zur Startseite ] [ Zur Kategorie ]
© 2004-2021 by Georg Kainzbauer