也許您有一個文件夾,在該文件夾下有許多子文件夾。 如果您想重新整理其中的電子郵件,例如將這些子文件夾中的所有電子郵件快速移動到特定文件夾,則可以使用本文中分享的方式。
有時,出於某些原因,您可能需要將電子郵件從一個文件夾的所有子文件夾批量移動到另一個文件夾,例如您想重新分類電子郵件,因此這些子文件夾不再有用。 在這種情況下,將這些子文件夾一個一個的處理是相當麻煩的。 因此,這裡我們將向您介紹另一種方式。

將電子郵件從一個文件夾的所有子文件夾批量移動到另一個文件夾
- 首先,啟動 Outlook 程式。
- 然後,在 Outlook 主屏幕中,點擊“Alt + F11”鍵按鈕,這將帶您進入 VBA 編輯器。
- 接下來,在新的“Microsoft Visual Basic for Applications”窗口中,您需要打開一個未使用的模塊。
- 隨後,將以下VBA代碼複製並粘貼到該模塊中。
Dim objTargetFolder As Outlook.folder
Sub BatchMoveEmailsFromSubfoldersToAnotherFolder()
Dim objSourceFolder As Outlook.folder
Dim objFolder As Outlook.folder
'Get the source folder whose subfolders to be processed
Set objSourceFolder = Application.Session.PickFolder
If Not (objSourceFolder Is Nothing) And objSourceFolder.DefaultItemType = olMailItem Then
If objSourceFolder.folders.count > 0 Then
'Select a target folder
Set objTargetFolder = Application.Session.PickFolder
If Not (objTargetFolder Is Nothing) Then
For Each objFolder In objSourceFolder.folders
Call ProcessFolders(objFolder)
Next
MsgBox "Move Completed!", vbExclamation
End If
Else
MsgBox "No subfolders!", vbExclamation
End If
End If
End Sub
Sub ProcessFolders(ByVal objFolder As Outlook.folder)
Dim i As Long
Dim objSubfolder As Outlook.folder
For i = objFolder.Items.count To 1 Step -1
'Move emails to the target folder
If objFolder.Items(i).Class = olMail Then
objFolder.Items(i).Move objTargetFolder
End If
Next
'Process subfolders recursively
If objFolder.folders.count > 0 Then
For Each objSubfolder In objFolder.folders
Call ProcessFolders(objSubfolder)
Next
End If
End Sub
- 之後,您可以運行此宏。
- 首先,在這個宏窗口中,按“F5”鍵按鈕。
- 然後,您將需要選擇要處理其子文件夾的源文件夾。
- 之後,您需要指定要將電子郵件移動到的目標文件夾。
- 隨後,該巨集將開始運作。運行完成後,您將收到一條提示“完成”的訊息。
- 最終,您可以存取目標資料夾。您會發現來源資料夾下所有子資料夾中的電子郵件都已轉移到那裡。
恢復受損的 Outlook 數據
儘管與其他電子郵件客戶端一樣擁有眾多功能,但 Outlook 仍然無法擺脫腐敗。 隨著存儲的數據越來越多,Outlook 將越來越容易出錯和損壞。 因此,您需要隨身攜帶一個強大的修復工具,例如 DataNumen Outlook Repair. 它專門設計用於 修復Outlook 問題。 因此,它可以輕鬆輕鬆地掃描和恢復損壞的 Outlook 文件。
作者簡介:
Shirley Zhang是的數據恢復專家 DataNumen,Inc.是數據恢復技術的全球領導者,包括 mdf恢復 和Outlook修復軟件產品。 欲了解更多信息,請訪問 www.datKanumen.com

