KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何將 Outlook 資料夾結構複製到桌面(Windows 檔案總管)?

作者Kelly修改日期

眾所周知,我們可利用「封存」功能將資料夾結構複製到另一個 Outlook 帳戶,但您知道如何將 Outlook 資料夾結構複製到特定位置(例如桌面)嗎?本文將介紹一段 VBA 程式碼,助您輕鬆將 Outlook 資料夾結構匯出至 Windows 檔案總管。

將 Outlook 資料夾結構複製到桌面(Windows 檔案總管)


將 Outlook 資料夾結構複製到桌面(Windows 檔案總管)

請依照下列步驟,將 Outlook 資料夾結構複製到桌面或 Windows 檔案總管中。

1. 在導航窗格中,請先點選您欲複製資料夾結構的目標資料夾,再按下「Alt」+「F11」鍵,即可開啟 Microsoft Visual Basic for Applications 視窗。

使用 VBA 將 Outlook 資料夾結構複製到桌面(Windows 檔案總管)的步驟截圖 1

2. 按一下「工具」>「參考設定」,開啟「參考設定」對話方塊後,勾選「Microsoft Scripting Runtime」選項,再按一下「確定」按鈕。請參閱截圖:

使用 VBA 將 Outlook 資料夾結構複製到桌面(Windows 檔案總管)的步驟截圖 2

3. 點選「插入」>「模組」,並將下方的 VBA 程式碼複製貼上至新開啟的模組視窗中。

VBA:將 Outlook 資料夾結構複製到 Windows 檔案總管

Dim xFSO As Scripting.FileSystemObject
Sub CopyOutlookFldStructureToWinExplorer()
    ExportAction "Copy"
End Sub
  
Sub ExportAction(xAction As String)
Dim xFolder As Outlook.Folder
Dim xFldPath As String
xFldPath = SelectAFolder()
If xFldPath = "" Then
    MsgBox "You did not select a folder. Export cancelled.", vbInformation + vbOKOnly, "Kutools for Outlook"
Else
    Set xFSO = New Scripting.FileSystemObject
    Set xFolder = Outlook.Application.ActiveExplorer.CurrentFolder
    ExportOutlookFolder xFolder, xFldPath
End If
Set xFolder = Nothing
Set xFSO = Nothing
End Sub

Sub ExportOutlookFolder(ByVal OutlookFolder As Outlook.Folder, xFldPath As String)
Dim xSubFld As Outlook.Folder
Dim xItem As Object
Dim xPath As String
Dim xFilePath As String
Dim xSubject As String
Dim xCount As Integer
Dim xFilename As String
On Error Resume Next
xPath = xFldPath & "\" & OutlookFolder.Name
'?????????,??????
If Dir(xPath, 16) = Empty Then MkDir xPath
For Each xItem In OutlookFolder.Items
    xSubject = ReplaceInvalidCharacters(xItem.Subject)
    xFilename = xSubject & ".msg"
    xCount = 0
    xFilePath = xPath & "\" & xFilename
    If xFSO.FileExists(xFilePath) Then
        xCount = xCount + 1
        xFilename = xSubject & " (" & xCount & ").msg"
        xFilePath = xPath & "\" & xFilename
    End If
    xItem.SaveAs xFilePath, olMSG
Next
For Each xSubFld In OutlookFolder.Folders
    ExportOutlookFolder xSubFld, xPath
Next
Set OutlookFolder = Nothing
Set xItem = Nothing
End Sub

Function SelectAFolder() As String
Dim xSelFolder As Object
Dim xShell As Object
On Error Resume Next
Set xShell = CreateObject("Shell.Application")
Set xSelFolder = xShell.BrowseForFolder(0, "Select a folder", 0, 0)
If Not TypeName(xSelFolder) = "Nothing" Then
    SelectAFolder = xSelFolder.self.Path
End If
Set xSelFolder = Nothing
Set xShell = Nothing
End Function
  
Function ReplaceInvalidCharacters(Str As String) As String
Dim xRegEx
Set xRegEx = CreateObject("vbscript.regexp")
xRegEx.Global = True
xRegEx.IgnoreCase = False
xRegEx.Pattern = "\||\/|\<|\>|""|:|\*|\\|\?"
ReplaceInvalidCharacters = xRegEx.Replace(Str, "")
End Function

4. 按下「F5」鍵或點擊「執行」按鈕,即可執行此 VBA。

5. 在彈出的「瀏覽資料夾」對話方塊中,請選取您要存放已複製資料夾結構的目標資料夾,然後點擊「確定」按鈕。請參閱截圖:

使用 VBA 將 Outlook 資料夾結構複製到桌面(Windows 檔案總管)的步驟截圖 3

現在前往指定的資料夾,您將看到資料夾結構已完整複製至指定的硬碟位置。請參閱截圖:

使用 VBA 將 Outlook 資料夾結構複製到桌面(Windows 檔案總管)的步驟截圖 4

注意:資料夾中的項目(例如電子郵件、約會、工作等)將一併複製至硬碟中對應的資料夾內。


相關文章

如何在 Outlook 中將資料夾結構複製到新的 PST 檔案?


最佳 Office 生產力工具

體驗全新 Kutools for Outlook,內含 100+ 項超強功能!立即點擊下載!

🤖KUTOOLS AI運用先進 AI 技術,輕鬆處理電子郵件——無論是回覆、摘要、優化、擴充、翻譯還是撰寫郵件,通通一鍵搞定!

📧 郵件自動化自動答覆(支援 POP 與 IMAP)預約寄送郵件寄信時依規則自動抄送密送自動轉發(高級規則)自動加入問候語自動將多收件人郵件拆分為個別訊息……

📨 郵件管理撤回郵件依主旨等條件封鎖詐騙郵件刪除重複郵件高級搜尋整合文件夾……

📁 附件專業版批次儲存批次解除附加批次壓縮自動保存自動拆離自動壓縮……

🌟 介面魔法😊更多精美酷炫表情符號重要郵件來到時提醒您最小化 Outlook 而非關閉……

👍 一鍵奇蹟帶附件全部答復防釣魚郵件🕘顯示發送者當前時間時區……

👩🏼‍🤝‍👩🏻 聯絡人與行事曆從選取的郵件中批次新增聯絡人將聯繫人組拆分為個別群組移除生日提醒……

用您的慣用語言暢享 Kutools — 完整支援英文、西班牙文、德文、法文、中文等 40 多種語言!

立即一鍵解鎖 Kutools for Outlook!別再等待,馬上下載,全面提升工作效率!

kutools for outlook features1kutools for outlook features2

🚀 一鍵下載 — 立即取得所有 Office 增益集

強烈推薦:Kutools for Office(5 合 1)

一鍵下載五個安裝程式,一次完成 — Kutools for Excel、Outlook、Word、PowerPointOffice Tab Pro立即點擊下載!

  • 一鍵便利:只需一次操作,即可下載全部五個安裝套件!
  • 🚀 隨時應對任何 Office 任務:按需安裝所需增益集,立即提升工作效率!
  • 🧰 包含:Kutools for Excel/Kutools for Outlook/Kutools for Word/Office Tab Pro/Kutools for PowerPoint