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



Note to Webmaster