How to copy Outlook folder structure to desktop (windows explorer)?
As you know, we can apply the Archive feature to copy folder structure to another Outlook, but do you know how to copy Outlook folder structure to a certain window folder, such as desktop? This article will introduce a VBA to copy Outlook folder structure to windows explorer easily.
Copy Outlook folder structure to desktop (windows explorer)
Copy Outlook folder structure to desktop (windows explorer)
Please follow below steps to copy Outlook folder structure to the desktop or windows explorer.
1. On the Navigation Pane, please click to highlight the specified folder whose folder structure you will copy, and press Alt + F11 keys to open the Microsoft Visual Basic for Applications window.
![the screenshot of step about copying Outlook folder structure to desktop (windows explorer) using vba 1](http://cdn.extendoffice.com/images/stories/doc-outlook/copy-folder-structure-to-windows-explorer/doc-outlook-copy-folder-structure-to-windows-explorer-1.png)
2. Click Tools > References to open the References dialog box. Then in the dialog box check the Microsoft Scripting Runtime option, and click the OK button. See screenshot:
![the screenshot of step about copying Outlook folder structure to desktop (windows explorer) using vba 2](http://cdn.extendoffice.com/images/stories/doc-outlook/copy-folder-structure-to-windows-explorer/doc-outlook-copy-folder-structure-to-windows-explorer-4.png)
3. Click Insert > Module, and copy and paste below VBA code into the new module window.
VBA: Copy Outlook folder structure to windows explorer
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. Press F5 key or click the Run button to run this VBA.
5. In the popping out Browse For Folder dialog box, please select the specified folder you will place the copied folder structure, and click the OK button. See screenshot:
![the screenshot of step about copying Outlook folder structure to desktop (windows explorer) using vba 3](http://cdn.extendoffice.com/images/stories/doc-outlook/copy-folder-structure-to-windows-explorer/doc-outlook-copy-folder-structure-to-windows-explorer-2.png)
Now go to the specified folder, you will see the folder structure is copied to the specified hard disc. See screenshot:
![the screenshot of step about copying Outlook folder structure to desktop (windows explorer) using vba 4](http://cdn.extendoffice.com/images/stories/doc-outlook/copy-folder-structure-to-windows-explorer/doc-outlook-copy-folder-structure-to-windows-explorer-3.png)
Note: the folder items, such as emails, appointments, tasks, etc. are also copied into corresponding folders in the hard disc.
Related Articles
How to copy folder structure to new pst data file in Outlook?
Best Office Productivity Tools
Breaking News: Kutools for Outlook Launches Free Version!
Experience the all-new Kutools for Outlook FREE version with 70+ incredible features, yours to use FOREVER! Click to download now!
📧 Email Automation: Auto Reply (Available for POP and IMAP) / Schedule Send Emails / Auto CC/BCC by Rules When Sending Email / Auto Forward (Advanced Rules) / Auto Add Greeting / Automatically Split Multi-Recipient Emails into Individual Messages ...
📨 Email Management: Recall Emails / Block Scam Emails by Subjects and Others / Delete Duplicate Emails / Advanced Search / Consolidate Folders ...
📁 Attachments Pro: Batch Save / Batch Detach / Batch Compress / Auto Save / Auto Detach / Auto Compress ...
🌟 Interface Magic: 😊More Pretty and Cool Emojis / Remind you when important emails come / Minimize Outlook Instead of Closing ...
👍 One-click Wonders: Reply All with Incoming Attachments / Anti-Phishing Emails / 🕘Show Sender's Time Zone ...
👩🏼🤝👩🏻 Contacts & Calendar: Batch Add Contacts From Selected Emails / Split a Contact Group to Individual Groups / Remove Birthday Reminders ...
![kutools for outlook features1](http://cdn.extendoffice.com/images/stories/kto-ad-sun/kto19.0-kutools-100.png)
![kutools for outlook features2](http://cdn.extendoffice.com/images/stories/kto-ad-sun/kto19.0-plus-100.png)