title image


Smiley Postfächer rekursiv durchlaufen
Hi,



unten poste ich Dir mal etwas Coding; hier kannst Du sehen, wie man alle in Outlook vorhandenen Postfächer (hier: alle Ordner mit DefaultItemType = MailItem) rekursiv in einer Schleife durchläuft:





Sub Aufruf()



Dim olAppl As Outlook.Application

Dim olNS As NameSpace

Dim olFolder As Object



Set olAppl = New Outlook.Application

Set olNS = olAppl.GetNamespace("MAPI")



For Each olFolder In olNS.Folders

Debug.Print olFolder.Name

Debug.Print String(Len(olFolder.Name), "-")

GetOutlookFolders olFolder.Folders, 0, olMailItem

Debug.Print String(50, ">")

Next olFolder



Set olFolder = Nothing

Set olNS = Nothing

Set olAppl = Nothing

End Sub

'

Sub GetOutlookFolders(ByRef ParentFolders As Folders, ByRef i As Long, dit As OlItemType)



Dim olFold As mapiFolder



For Each olFold In ParentFolders

If olFold.DefaultItemType = dit Then

Debug.Print String(i * 2, vbTab) & olFold.Name

' hier dann die Mails in einer Schleife durchlaufen & einlesen;

' anschl. rekursiver Aufruf ggf. vorhandener Unterordner:

GetOutlookFolders olFold.Folders, i + 1, dit

End If

DoEvents

Next



Set olFold = Nothing



End Sub





Die Inhalte würde ich übrigens nicht in unterschiedlichen Tabellen abspeichern (Normalisierung!), sondern die verschiedenen Posteingänge anhand ihres "Outlook-Primärschlüssels" (=der Entry-ID) in der Access-Tabelle unterscheiden.



Greetz,

Eric

Spotlight-Kicktipp gestartet!

Steig ein und trete mit Deinem Bundesliga-Tipp gegen die Besten an! :o)

http://www.kicktipp.de/spotlight/



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: