Skip to main content

如何在Outlook中計算特定資料夾下的子資料夾數量?

Author: Siluvia Last Modified: 2025-05-12

假設您已在某個根資料夾下建立了幾個資料夾。現在,您想知道該根資料夾下有多少個子資料夾,該怎麼辦呢?難道要展開根資料夾並手動逐一計算所有子資料夾嗎?本文將介紹一種簡單的方法來幫助您實現這一目標。

使用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

相關文章: