VBOffice

Empfangskonto einer Email ermitteln

Mit diesem Script erfahren Sie, über welches Emailkonto eine bestimmte Email empfangen wurde.

Zuletzt geändert: 17.05.2006 | Aufrufe: 54.279  | #26
◀ Vorheriges Beispiel Nächstes Beispiel ▶

Inhalt

ReplyAll ReplyAll
Mit diesem Addin für Outlook erhalten Sie in verschiedenen Situationen eine Warnung, bevor Sie auf eine Email versehentlich allen anderen Empfängern antworten.

Für Outlook XP und 2003

Seit Outlook XP wird für jede empfangene E-Mail gespeichert, über welches Konto diese empfangen wurde, wenn es nicht das Standardkonto war. Über das gleiche Konto werden standardmäßig auch die Antworten zurückgesendet. Dafür verwendet Outlook zwei Eigenschaften; die eine speichert den Namen des Kontos, die andere die ID und Emailadresse.

Das folgende Beispiel zeigt, wie Sie die Information mit Hilfe der Redemption ermitteln können. Wählen Sie eine Email aus und starten Sie dann das Makro z.B. mit ALT+F8.


tip  So fügen Sie Makros in Outlook ein
Public Sub ReadNextSendAccount()
  Dim Mail As Redemption.RDOMail
  Dim Session As Redemption.RDOSession
  Dim PR_ACCT_ID As Long
  Dim PR_ACCT_NAME As Long

  Set Session = CreateObject("redemption.rdosession")
  Session.Logon

  With Application.ActiveExplorer.Selection(1)
    Set Mail = Session.GetMessageFromID(.EntryId, .Parent.StoreID)
  End With
  
  PR_ACCT_NAME = Mail.GetIDsFromNames("{00062008-0000-0000-C000-000000000046}", &H8580)
  PR_ACCT_NAME = PR_ACCT_NAME Or &H1E
  
  PR_ACCT_ID = Mail.GetIDsFromNames("{00062008-0000-0000-C000-000000000046}", &H8581)
  PR_ACCT_ID = PR_ACCT_ID Or &H1E
  
  Mail.Fields (PR_ACCT_NAME) & " " & Mail.Fields(PR_ACCT_ID)
End Sub
OLKeeper OLKeeper
Der OLKeeper verhindert zuverlässig, dass Sie Microsoft Outlook unbeabsichtigt schließen und so etwa wichtige Emails verpassen würden.

Seit Outlook 2007

Seit Outlook 2007 gibt es eine neue Eigenschaft, in der beides steht, also Kontoname und Konto-ID.

Public Sub ReadNextSendAccount()
  Dim Mail As Redemption.RDOMail
  Dim Session As Redemption.RDOSession
  Const PR_NEXT_SEND_ACCT = &HE29001F

  Set Session = CreateObject("redemption.rdosession")
  Session.MAPIOBJECT = Application.Session.MAPIOBJECT

  With Application.ActiveExplorer.Selection(1)
    Set Mail = Session.GetMessageFromID(.EntryId, .Parent.StoreID)
  End With
  
  MsgBox Mail.Fields(PR_NEXT_SEND_ACCT)
End Sub
ReplyAll ReplyAll
Mit diesem Addin für Outlook erhalten Sie in verschiedenen Situationen eine Warnung, bevor Sie auf eine Email versehentlich allen anderen Empfängern antworten.
email  Senden Sie eine Nachricht