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

如何导出并打印 Outlook 中所有文件夹及其子文件夹的列表?

作者Kelly修改日期

一般情况下,您可以通过按“Ctrl”+“6”在 Outlook 的导航窗格中查看所有文件夹列表,但无法直接打印该列表。本文将为您介绍两段 VBA 脚本,帮助您导出并打印 Outlook 中所有文件夹及其子文件夹的列表。


在新建邮件中导出并打印所有 Outlook 文件夹及其子文件夹的列表

本方法介绍了如何通过 VBA 脚本,将指定电子邮件帐户下所有文件夹及其子文件夹的列表导出到 Outlook 的新建邮件中,方便您轻松打印文件夹列表。

1. 按下“Alt”+“F11”组合键,即可打开 Microsoft Visual Basic for Applications 窗口。

2. 点击“插入”>“模块”,然后将以下 VBA 代码粘贴到新建的模块窗口中。

VBA:导出 Outlook 中新建邮件的文件夹及子文件夹列表

Public gFolders As String

Public Sub GetFolderNames()
Dim oSession As Outlook.NameSpace
Dim oFolder As Outlook.MAPIFolder
Dim oNewMail As Outlook.MailItem

Set oSession = Outlook.Application.GetNamespace("MAPI")
Set oFolder = oSession.PickFolder

If (oFolder Is Nothing) Then Exit Sub

ProcessFolder oFolder

Set oNewMail = Application.CreateItem(olMailItem)
oNewMail.Body = gFolders
oNewMail.Display

gFolders = ""
End Sub

Sub ProcessFolder(CurrentFolder As Outlook.MAPIFolder)
Dim i As Long
Dim oSubFolder As Outlook.MAPIFolder
Dim oFolder As Outlook.MAPIFolder
Dim sFolderPaths As String

For i = CurrentFolder.Folders.Count To 1 Step -1
    Set oFolder = CurrentFolder.Folders(i)
    sFolderPaths = oFolder.FolderPath
    gFolders = gFolders & vbCrLf & sFolderPaths & " " & oFolder.Items.Count
Next

For Each oSubFolder In CurrentFolder.Folders
    If oSubFolder.Name <> "Deleted Items" Then
        ProcessFolder oSubFolder
    End If
Next
End Sub

3. 按下“F5”键运行 VBA。

4. 在弹出的“选择文件夹”对话框中,选择您希望打印文件夹列表的电子邮件账户,然后点击“确定”。

选择文件夹对话框

5. 所选账号的文件夹列表将会被复制到新建邮件中,如下所示。点击“文件”>“打印”即可打印该文件夹列表。

生成的包含文件夹列表的邮件

6. 打印完成后,关闭新建邮件,无需保存。


在记事本中导出并打印所有 Outlook 文件夹及其子文件夹的列表

本方法将为您介绍如何通过 VBA 脚本,将指定电子邮件账户下所有文件夹及其子文件夹的列表,从 Outlook 导出到记事本,助您轻松打印所需的文件夹清单。

1. 按下“Alt”+“F11”组合键,即可打开 Microsoft Visual Basic for Applications 窗口。

2. 点击“插入”>“模块”,然后将以下 VBA 代码粘贴到新建的模块窗口中。

VBA:将所有 Outlook 文件夹及其子文件夹从 Outlook 导出到记事本

Dim gFileName, gCreateTree, gBase

Public Sub ExportFolderTree()
Dim objOutlook
Dim F, Folders
Dim Result

Set objOutlook = CreateObject("Outlook.Application")
Set F = objOutlook.Session.PickFolder

If Not F Is Nothing Then
    Set Folders = F.Folders
    Result = MsgBox("Do you want to create tree?", vbYesNo + vbDefaultButton2 + vbApplicationModal, "Output Folder Tree")
    If Result = 6 Then
        gCreateTree = True
    Else
        gCreateTree = False
    End If

    gFileName = GetDesktopFolder() & "\Outlook-Folders.txt"
    gBase = Len(F.FolderPath) - Len(Replace(F.FolderPath, "\", "")) + 1

    WriteToATextFile (CreateFolderTree(F.FolderPath, F.Name))
    LoopFolders Folders

    Set F = Nothing
    Set Folders = Nothing
    Set objOutlook = Nothing
End If
End Sub

Private Function GetDesktopFolder()
Dim objShell
Set objShell = CreateObject("WScript.Shell")
GetDesktopFolder = objShell.SpecialFolders("Desktop")
Set objShell = Nothing
End Function

Private Sub LoopFolders(Folders)
Dim F
For Each F In Folders
    WriteToATextFile (CreateFolderTree(F.FolderPath, F.Name))
    LoopFolders F.Folders
Next
End Sub

Private Sub WriteToATextFile(OLKfoldername)
Dim objFSO, objTextFile
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile(gFileName, 8, True)
objTextFile.WriteLine (OLKfoldername)
objTextFile.Close
Set objFSO = Nothing
Set objTextFile = Nothing
End Sub

Private Function CreateFolderTree(OLKfolderpath, OLKfoldername)
If gCreateTree = False Then
    CreateFolderTree = Mid(OLKfolderpath, 3)
Else
    Dim i, x, OLKprefix
    i = Len(OLKfolderpath) - Len(Replace(OLKfolderpath, "\", ""))
    For x = gBase To i
        OLKprefix = OLKprefix & "-"
    Next
    CreateFolderTree = OLKprefix & OLKfoldername
End If
End Function

3. 按下“F5”运行 VBA。在弹出的选择文件夹对话框中,选择您希望导出并打印文件夹列表的电子邮件账户,然后点击“确定”。

选择文件夹对话框

4. 此时会弹出“输出文件夹树”对话框,根据是否需要显示树状缩进,点击“是”或“否”。

树形结构创建提示

现在,桌面上会新建一个名为“Outlook-Folders”的纯文本,如下所示:

Outlook 文件夹文本文件

5. 双击打开新建的纯文本文件,点击“文件”>“打印”即可打印导出的 Outlook 文件夹列表。

Outlook AI 邮件助手:智能回复,沟通更高效清晰(只需一键,轻松体验神奇效果!)

通过 Kutools for Outlook 的 AI 邮件助手,轻松提升您的日常 Outlook 工作效率。该强大工具能够智能学习您的邮件习惯,提供高效、精准的回复建议,优化邮件内容,助您轻松起草和润色邮件。
doc ai 邮件处理

该功能支持:

  • 智能回复:根据您的历史对话内容生成个性化且精准的回复,随时为您所用。
  • 内容优化:自动完善您的邮件文本,让表达更加清晰且更具影响力。
  • 轻松写作:您只需输入关键词,剩下的交给 AI,多种润色风格随心选择。
  • 智能扩展:结合上下文,智能拓展您的想法,提供精准建议。
  • 智能摘要:轻松为冗长邮件快速生成简明概览,让信息一目了然。
  • 全球畅邮:轻松将邮件翻译为任意语言。

该功能支持:

  • 智能邮件回复
  • 内容优化
  • 关键词草稿
  • 智能内容扩展
  • 邮件摘要
  • 多语言翻译

立即行动——现在就下载 AI 邮件助手,畅享高效体验,不容错过!

相关文章

在 Outlook 中显示或隐藏文件夹列表视图


最佳办公效率工具

体验全新 Kutools for Outlook,畅享 100+ 强大功能!立即点击下载,不容错过!

🤖KUTOOLS AI采用先进 AI 技术,轻松处理邮件,涵盖回复、摘要、优化、扩展、翻译及撰写等功能。

📧 邮件自动化自动答复(支持 POP 和 IMAP)/定时发送邮件/发送邮件时按规则自动抄送密送/自动转发(高级规则)/自动添加称呼/自动将多收件人邮件拆分为单独信息……

📨 邮件管理撤回邮件/按主题等条件拦截诈骗邮件/删除重复邮件/高级搜索/整合文件夹……

📁 附件增强批量保存/批量分离/批量压缩/自动保存/自动拆离/自动压缩……

🌟 界面魔法😊更多美观时尚表情/重要邮件到达时提醒您/最小化 Outlook 而不是直接关闭……

👍 一键精彩功能带附件全部答复/反钓鱼邮件/🕘显示发送者当前时间时区……

👩🏼‍🤝‍👩🏻 联系人与日历批量从选定邮件中提取添加联系人/将联系人组拆分为个人组/移除生日提醒……

在您的首选语言中畅享 Kutools —— 支持英语、西班牙语、德语、法语、中文等 40 多种语言!

一键解锁 Kutools for Outlook,告别等待,立即下载,让效率倍增!

kutools for outlook 功能1kutools for outlook 功能2

🚀 一键下载 — 即可获取全部 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