Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
496to500
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
496to500
496to500
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Mailliste in Excel-Tabelle

Mailliste in Excel-Tabelle
09.10.2004 17:41:39
Rolf
Hallo Experten,
folgender Code listet Mails aus Outlook
in einer Excel-Tabelle auf.

Sub alle_mails_anzeigen()
'Prozedur aus einem leeren Tabellenblatt starten
On Error Resume Next 'weiter, trotz fehlendem Betreff, Sender o.Sendedatum
Set outlk = CreateObject("Outlook.Application")
Set struc = outlk.GetNamespace("MAPI").Folders
Set persö = struc.Item("Persönliche Ordner")
For Each p In persö.Folders                 'alle Ordner
k = k + 1                               'Zeilenzähler
Cells(k, 1) = p.Parent.Name
Cells(k, 2) = p.Name
If k > 10 Then                          'Standardordner auslassen
For Each q In p.Folders             'alle benutzerdefinierten Unterverzeichnisse
k = k + 1
Cells(k, 2) = q.Parent.Name
Cells(k, 3) = q.Name
n = q.Items.Count
For i = 1 To n              'alle Mails im jeweiligen Unterverzeichnis
k = k + 1
Cells(k, 3) = q.Items(i).Subject
Cells(k, 4) = q.Items(i).SenderName
Cells(k, 5) = q.Items(i).SentOn
Next
Next
End If
Next
End Sub

Die Mails sind abgelegt in diversen benutzerdefinierten
Verzeichnissen und/oder entsprechenden Unterverzeichnissen
unterhalb des Ordners "Outlook Heute - [Persönliche Ordner]".
Die Prozedur listet jedoch nur die in Unterverzeichnissen
abgelegten Mails auf.
So - nun endlich zur Frage:
Sieht jemand eine elegante Möglichkeit (ohne tausend ifs),
die beiden Fliegen mit einer Klappe zu schlagen?
Herzliche Grüße
Rolf Beißner

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mailliste in Excel-Tabelle
Fritz
Hallo Rolf,
wenn ich dich richtig verstanden habe, dann willst du ALLE Ordner und Unterordner mit ALLEN Elementen darstellen. Wenn ich richtig liege, dann hilft dir folgender Code weiter:
Public

Sub Start_All_Mails_Anzeigen()
alle_mails_anzeigen   'Start des Makros!!!
End Sub

Public

Sub alle_mails_anzeigen(Optional ActFolder As Object)
Dim item    As Object
Dim fold    As Object
Static k    As Long
On Error Resume Next 'weiter, trotz fehlendem Betreff, Sender o.Sendedatum
If ActFolder Is Nothing Then
'Prozedur aus einem leeren Tabellenblatt starten
Set outlk = CreateObject("Outlook.Application")
Set struc = outlk.GetNamespace("MAPI").folders
Set persö = struc.item("Persönliche Ordner")
k = 0
Else
Set persö = ActFolder                   'aktuellen Ordner zuweisen
k = k + 1                               'Zeilenzähler
Cells(k, 1) = persö.Parent.Name
Cells(k, 2) = persö.Name
For Each item In persö.items            'alle Elemente des Ordners darstellen
k = k + 1
Cells(k, 3) = item.Subject
Cells(k, 4) = item.sendername
Cells(k, 5) = item.SentOn
Next item
End If
For Each fold In persö.folders
alle_mails_anzeigen fold    'rekursiver Aufruf, damit alle Unterordner
'abgearbeitet werden
Next fold
End Sub

Anzeige
AW: Mailliste in Excel-Tabelle
10.10.2004 13:30:59
Rolf
Hallo Fritz,
das ist eine sehr, sehr schöne schlanke Lösung - geradezu musterhaft.
Ich danke dir ganz herzlich
+ wünsche noch ein schönes Restwochenende
Rolf

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige