Lese- bzw. Übermittlungsbestätigung per Mausklick anfordern

Zuletzt geändert am 03. April 2013

In Outlook® kann man generell eine Lese- bzw. Übermittlungsbestätigung anfordern oder auch im Einzelfall in den Optionen einer neuen E-Mail. Um das Anfordern per Mausklick zu ermöglichen, kann man nachfolgenden Code verwenden.

Zur Verwendung dieses Beispiels beachten Sie bitte die wichtigen Hinweise, sowie den Workshop VBA in Outlook® verwenden. Den Code bitte in ein neues Modul kopieren (Einfügen -> Modul im VBA-Editor).

Ab Outlook® 2000

Option Explicit
 
Public Sub SetDeliverRequest()
 
    ' Nur Übermittlungsbestätigung anfordern
    Call SetEmailRequest(True, False)
 
End Sub
 
Public Sub SetReadRequest()
 
    ' Nur Lesebestätigung anfordern
    Call SetEmailRequest(False, True)
 
End Sub
 
Public Sub SetDeliverAndReadRequest()
 
    ' Übermittlungs- und Lesebestätigung anfordern
    Call SetEmailRequest(True, True)
 
End Sub
 
Private Sub SetEmailRequest(ByVal blnDeliver As Boolean, ByVal blnRead As Boolean)
 
    '=====================================================================
    ' Fordert eine Lese-/Übermittlungsbestätigung für die aktuelle E-Mail an.
    ' (c) Peter Marchert - http://www.outlook-stuff.com
    ' 2008-11-20 Version 1.0.0
    ' Aufruf für beides: Call SetEmailRequest(True, True)
    ' Aufruf für Übermittlungsbestätigung: Call SetEmailRequest(True, False)
    ' Aufruf für Lesebestätigung: Call SetEmailRequest(False, True)
    '=====================================================================
    
    On Error Resume Next
 
    '---------------------------------------------------------------------
    ' Geht nicht bei empfangenen Elementen
    '---------------------------------------------------------------------
    If Not Year(Outlook.ActiveInspector.CurrentItem.ReceivedTime) = 4501 Then Exit Sub
 
    '---------------------------------------------------------------------
    ' Übermittlungsbestätigung setzen?
    '---------------------------------------------------------------------
    If blnDeliver Then
        Outlook.ActiveInspector.CurrentItem.OriginatorDeliveryReportRequested = True
    End If
 
    '---------------------------------------------------------------------
    ' Lesebestätigung setzen?
    '---------------------------------------------------------------------
    If blnRead Then
        Outlook.ActiveInspector.CurrentItem.ReadReceiptRequested = True
    End If
 
    '---------------------------------------------------------------------
    ' Eventuell war keine E-Mail markiert
    '---------------------------------------------------------------------
    If Not Err.Number = 0 Then Exit Sub
 
    '---------------------------------------------------------------------
    ' Meldung an Benutzer
    '---------------------------------------------------------------------
    If blnDeliver And blnRead Then
        MsgBox "Für diese E-Mail wird eine Übermittlungs- und Lesebestätigung angefordert." _
            , vbInformation + vbOKOnly
    ElseIf blnDeliver Then
        MsgBox "Für diese E-Mail wird eine Übermittlungsbestätigung angefordert." _
            , vbInformation + vbOKOnly
    ElseIf blnRead Then
        MsgBox "Für diese E-Mail wird eine Lesebestätigung angefordert." _
            , vbInformation + vbOKOnly
    Else
        MsgBox "Falscher Prozeduraufruf (False, False)!" & vbCrLf & vbCrLf & _
            "Bitte geben Sie wenigstens 1 Parameter mit ""True"" an." _
            , vbCritical + vbOKOnly
    End If
 
End Sub