Liste Outlook-Emails
21.05.2018 14:38:49
niclaus
Angeregt durch eine Frage von Hazard betr. "Outlook Mail-Empfänger auslesen" - Geschrieben am: 14.05.2018 15:40:30
habe ich mir ein Makro gebastelt, das mir in einer Excel-Tabelle die Mails des aktuell offenen Email-Ordners auflistet.
Sub MailList()
Dim olApp As Object
Dim olFolder As Object
Dim olMail As Object
Dim i As Integer
On Error Resume Next
i = 0
Set olApp = CreateObject("Outlook.Application")
Set olFolder = olApp.ActiveExplorer.CurrentFolder
i = olFolder.Items.Count
'Die Mails werden geordnet nach Datum: Die jüngsten an erster Stelle.
'Die oberste Zeile in der Tabelle bleibt frei für Spaltenüberschriften.
For Each olMail In olFolder.Items
ActiveSheet.Range("A1").Offset(i, 0).Value = i
ActiveSheet.Range("A1").Offset(i, 1).Value = olMail.Sender
ActiveSheet.Range("A1").Offset(i, 2).Value = olMail.to
ActiveSheet.Range("A1").Offset(i, 3).Value = olMail.ReceivedTime
ActiveSheet.Range("A1").Offset(i, 4).Value = olMail.Categories
ActiveSheet.Range("A1").Offset(i, 5).Value = olMail.Subject
i = i - 1
Next
End Sub
Das klappt auch bestens. In einem Punkt komme ich aber nicht weiter. Ich füge im Mail ein:
MsgBox olFolder
Diese Zeile nennt mir den aktuell geöffneten Unter-Ordner: Posteingang, Gesendete Elemente, Gelöschte Elemente usw.
Da ich in Outlook mehrere Mail-Konti führe, hätte ich gern auch die Angabe des Namens des Email-Kontos, dessen Unterordner ich geöffnet habe. Ich habe es mit allem möglichen versucht, aber das gelingt mir nicht:
MsgBox olApp.Session.Accounts.Item.Name
MsgBox olApp.Accounts.Name
MsgBox olApp.Accounts.UsingAccount.Name
MsgBox olApp.activeAccounts.Name
MsgBox olApp.Namespace
MsgBox olApp.Session.Accounts.Item.Name
MsgBox olApp.Session.Accounts.Name
MsgBox olApp.ActiveExplorer.Folderpath
MsgBox olApp.MAPIFolder.Name
Weiss jemand von Euch, wie die Zeile heissen müsste?
Vielen Dank, viele Grüsse Niclaus