Outlook folder iteration (moving through the folder tree):
Return to List
' Enabling User to obtain info on all items
Private Sub Main()
Dim MyNS As NameSpace
Set MyNS = Application.GetNamespace("MAPI")
Dim fldFolder As MAPIFolder
Set fldFolder = MyNS.Folders("Personal Folders")
Call GetFolderInfo(fldFolder)
End Sub
Private Sub GetFolderInfo(fldFolder As MAPIFolder)
' This procedure prints to the Immediate window information ' about items contained in a folder. Dim objItem As Object
Dim dteCreateDate As Date
Dim strSubject As String
Dim strItemType As String
Dim intCounter As Integer
On Error Resume Next
If fldFolder.Folders.Count > 0 Then
For Each objItem In fldFolder.Folders
Call GetFolderInfo(objItem)' How the recursiveness works down the branches of the tree. Next objItem
End If
Debug.Print "Folder '" & fldFolder.Name & "' (Contains " _
& fldFolder.Items.Count & " items):"
For Each objItem In fldFolder.Items
intCounter = intCounter + 1
With objItem
dteCreateDate = .CreationTime
strSubject = .Subject
strItemType = TypeName(objItem)
End With
Debug.Print vbTab & "Item #" & intCounter & " - " _
& strItemType & " - created on " _
& Format(dteCreateDate, "mmmm dd, yyyy hh:mm am/pm") _
& vbCrLf & vbTab & vbTab & "Subject: '" _
& strSubject & "'" & vbCrLf
Next objItem
End Sub