KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何将 Outlook 文件夹结构复制到桌面(Windows 资源管理器)?

作者Kelly修改日期

如您所知,我们可以通过归档功能将文件夹结构复制到另一个 Outlook。但您是否知道,如何将 Outlook 的文件夹结构复制到某个 Windows 文件夹(如桌面)呢?本文将为您介绍一种 VBA 方法,助您轻松将 Outlook 文件夹结构复制到 Windows 资源管理器。

将 Outlook 文件夹结构复制到桌面(Windows 资源管理器)


将 Outlook 文件夹结构复制到桌面(Windows 资源管理器)

请按照以下步骤,将 Outlook 文件夹结构复制到桌面或 Windows 资源管理器。

1. 在导航窗格中,点击选中您想要复制文件夹结构的目标文件夹,然后按下“Alt” + “F11”键,打开 Microsoft Visual Basic for Applications 窗口。

使用 VBA 将 Outlook 文件夹结构复制到桌面(文件资源管理器)的步骤截图 1

2. 点击“工具” > “引用”,打开引用对话框。在对话框中勾选“Microsoft Scripting Runtime”选项,然后点击“确定”按钮。如下图所示:

使用 VBA 将 Outlook 文件夹结构复制到桌面(文件资源管理器)的步骤截图 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 文件夹结构复制到桌面(文件资源管理器)的步骤截图 3

现在进入指定文件夹后,您将看到文件夹结构已成功复制到所选硬盘中。如下图所示:

使用 VBA 将 Outlook 文件夹结构复制到桌面(文件资源管理器)的步骤截图 4

注意:文件夹中的条目(如邮件、会议、任务等)也会同步复制到硬盘中相应的文件夹。


相关文章

如何将文件夹结构复制到 Outlook 的新 pst 数据文件中?


最佳办公效率工具

体验全新 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