AW: Ordner aus Outlook lesen
03.11.2008 18:50:49
MiGra
Hallo, und moin, moin,
vielleicht ist das hier schon mal ein Anfang (kein Ahnung, wo ich den her habe, aber mehr als 1 x ausprobiert und dann zu den Akten gelegt habe ich ihn nicht):
Wichtig: Im VBA-Editor unter Verweise die Microsoft Outlook 11.0 (?) Object Library aktivieren.
Sub OutlookPosteingang()
'Variablendeklaration
Dim OLF As Outlook.MAPIFolder
Dim AnzEintraege As Integer, i As Integer, Email As Integer
' Hier wird eine Tabelle hinzugefügt
Sheets.Add
'Globale Fehlerbehandlung -> Excel soll automatisch weitermachen, egal welcher Fehler
On Error Resume Next
' Überschriften im neuen Blatt -> die erste Zeile von A1 - F1
[A1].Value = "Betreff"
[B1].Value = "Datum Uhrzeit"
[C1].Value = "empfangen von"
[D1].Value = "gelesen"
[E1].Value = "Nachricht"
[F1].Value = "Dateianhänge"
'Erste Zeile soll Fett formatiert werden
Rows(1).Font.Bold = True
'Setzen der Variable als Outlook Application; Zugriff auf Outlook
Set OLF = GetObject("", "Outlook.Application") _
.GetNamespace("MAPI").GetDefaultFolder(olFolderSentMail)
'Inbox)
'Setzen der Variable -> es sollen alle Nachrichten im Ordner 'Posteingang (olFolderInbox) gezä _
hlt werden
AnzEintraege = OLF.Items.Count
'Setzen der Variablen auf '0'
i = 0: Email = 0
'Beginn Schleifendurchlauf (Schleife 1) -> die Variable 'i' läuft solange, wie Anzahl der _
EMails vorhanden sind
While i Anzahl der Anhänge in der EMail
Cells(Email + 1, 6).Value = .Attachments.Count
'Ende der Schleife 2
End With
'Ende der Schleife 1
Wend
'Die Variable muss wieder auf Null gesetzt werden = nothing halt
Set OLF = Nothing
'Die Spalten sollen automatisch in der Breite angeglichen werden
Columns("A:F").AutoFit
'Die Zelle 'A2' soll selektiert werden
[A2].Select
'Die Exceldatei wird gespeichert
ActiveWorkbook.Saved = True
'Die Statuszeile wird wieder ausgeschaltet
Application.StatusBar = False
End Sub
Wenn Du jetzt noch herausfindest, wie Excel die Namen aller Outlook-Ordner herausfinden kann (ich weiss es leider nicht), lässt sich bestimmt 'ne prima Schleife programmieren.
Guten Erfolg wünscht Michael G.