Outlook-Ordner und Mails in Excel listen
Schritt-für-Schritt-Anleitung
Um die Ordnerstruktur und die zugehörigen Mails aus Outlook in Excel zu listen, kannst Du den folgenden VBA-Code verwenden. Dieser Code liest die erste Ordnerebene und die Unterordner aus.
- Öffne Excel und drücke
ALT + F11, um den VBA-Editor zu öffnen.
- Gehe zu
Einfügen > Modul, um ein neues Modul zu erstellen.
- Füge den folgenden Code in das Modul ein:
Sub OutlookOrdnerListen()
Dim objOutlook As Object
Dim objOrdner As Object
Dim objSpace As Object
Dim i As Integer
Dim ii As Integer
Dim iii As Integer
Dim intZähler As Integer
Set objOutlook = CreateObject("Outlook.Application")
Set objSpace = objOutlook.GetNamespace("MAPI")
intZähler = 1
For i = 1 To objSpace.Folders.Count
Set objOrdner = objSpace.Folders(i)
Sheets(1).Cells(intZähler, 1) = objOrdner.Name
For ii = 1 To objOrdner.Folders.Count
Sheets(1).Cells(intZähler, 2) = objOrdner.Folders(ii).Name
For iii = 1 To objOrdner.Folders(ii).Items.Count
Sheets(1).Cells(intZähler, 3) = objOrdner.Folders(ii).Items(iii).Subject
intZähler = intZähler + 1
Next iii
intZähler = intZähler + 1
Next ii
intZähler = intZähler + 1
Next i
End Sub
- Führe das Makro aus, um die Ordner und Mails in Excel aufzulisten.
Häufige Fehler und Lösungen
Alternative Methoden
Eine alternative Methode, um die Ordnerstruktur von Outlook zu exportieren, ist die Verwendung von CDO (Collaboration Data Objects). Damit kannst Du auch zusätzliche Informationen wie die Ordnergröße abrufen. Dies erfordert jedoch zusätzliche Installationen.
Hier ist ein Beispiel, um die Größe eines Ordners abzurufen:
Public Function GetFolderSize(f As MAPIFolder) As Double
Dim objCDO As MAPI.Session
Dim objFolder As MAPI.Folder
Set objCDO = CreateObject("MAPI.Session")
Set objFolder = objCDO.GetFolder(f.EntryID)
GetFolderSize = objFolder.Fields(CdoPR_MESSAGE_SIZE).Value
End Function
Praktische Beispiele
Wenn Du die Ordner versenden möchtest, kannst Du den folgenden VBA-Code verwenden, um die Ordnerstruktur in eine Textdatei zu exportieren:
Sub ExportOrdner()
Dim fso As Object
Dim ts As Object
Dim objOutlook As Object
Dim objSpace As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.CreateTextFile("C:\Ordnerliste.txt", True)
Set objOutlook = CreateObject("Outlook.Application")
Set objSpace = objOutlook.GetNamespace("MAPI")
Dim i As Integer
For i = 1 To objSpace.Folders.Count
ts.WriteLine objSpace.Folders(i).Name
Next i
ts.Close
End Sub
Tipps für Profis
- Um die
outlook-ordnerstruktur effizient zu durchsuchen, solltest Du die Verwendung von rekursiven Funktionen in Betracht ziehen, um alle Unterordner zu erfassen.
- Dokumentiere Deine Makros gut, damit Du schnell Änderungen vornehmen oder sie an andere weitergeben kannst.
- Teste Deine Makros in einer sicheren Umgebung, bevor Du sie in einer produktiven Umgebung einsetzt.
FAQ: Häufige Fragen
1. Wie kann ich die aktuelle Ordnergröße in Outlook ermitteln?
Du kannst die Größe eines Ordners mit der CDO-Bibliothek ermitteln. Verwende dafür den entsprechenden VBA-Code, wie im Abschnitt „Alternative Methoden“ beschrieben.
2. Kann ich die Ordnerstruktur auch in eine Excel-Tabelle exportieren?
Ja, mit dem bereitgestellten VBA-Code kannst Du die Ordnerstruktur von Outlook in eine Excel-Tabelle exportieren. Achte darauf, dass Du die richtige Excel-Version verwendest, die Makros unterstützt.