跳至主要内容

如何在Outlook中统计某个文件夹下的子文件夹数量?

Author: Siluvia Last Modified: 2025-05-07

假设您在某个根文件夹下创建了一些文件夹。现在,您想知道该根文件夹下有多少个子文件夹,该如何操作呢?是展开根文件夹并手动逐一统计所有子文件夹吗?本文将为您介绍一种简单的方法来实现这一目标。

使用VBA代码统计子文件夹数量


使用VBA代码统计子文件夹数量

以下VBA代码可以帮助您统计Outlook中某个特定根文件夹下的子文件夹数量。请按照以下步骤进行操作:

1. 按下 Alt + F11 键打开 Microsoft Visual Basic for Applications 窗口。

2. 在 Microsoft Visual Basic for Applications 窗口中,点击 插入 > 模块。然后复制并将以下VBA代码粘贴到代码窗口中。

VBA代码:统计Outlook中某个文件夹下的子文件夹数量

Sub CountSubFldsUnderRootFolder()
Dim xRootFolder As Folder
Dim xFolderCount As Long
Dim xFolder As Object
On Error Resume Next
'Set xRootFolder = Outlook.Application.ActiveExplorer.CurrentFolder
Set xRootFolder = Outlook.Application.Session.PickFolder
If TypeName(xRootFolder) = "Nothing" Then Exit Sub
If xRootFolder.Folders.Count < 1 Then
    MsgBox "No subfolders under " & Chr(34) & xRootFolder.Name & Chr(34) & ".", vbInformation, "Kutools for Outlook"
    Exit Sub
End If
For Each xFolder In xRootFolder.Folders
    If xFolder.Name <> "Conversation Action Settings" And xFolder.Name <> "Quick Step Settings" Then
        xFolderCount = xFolderCount + 1
        Call ProcessFolders(xFolder, xFolderCount)
    End If
Next
MsgBox xFolderCount & " subfolders under " & Chr(34) & xRootFolder.Name & Chr(34) & ".", vbInformation, "Kutools for Outlook"
End Sub

Sub ProcessFolders(SubFolder As MAPIFolder, Num As Long)
Dim xSubFolder As MAPIFolder
On Error Resume Next
Num = Num + SubFolder.Folders.Count
For Each xSubFolder In SubFolder.Folders
    Call ProcessFolders(xSubFolder, Num)
Next
End Sub

3. 按下 F5 键运行代码。

4. 在弹出的 选择文件夹 对话框中,选择要统计其子文件夹的文件夹,然后点击 确定 按钮。参见截图:

steps on counting number of subfolders under certain folder in Outlook using vba

5. 随后会弹出一个 Kutools for Outlook 对话框,告诉您指定文件夹中有多少个子文件夹。参见截图:

steps on counting number of subfolders under certain folder in Outlook using vba

相关文章: