跳至主要内容

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

Author: Kelly Last Modified: 2025-07-31

一般来说,您可以按“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. 在弹出的“选择文件夹”对话框中,选择要打印其文件夹列表的邮箱账户,然后点击“确定”。

Select folder dialog

5. 所选账户的文件夹列表将被复制到新邮件中,如下所示。点击“文件” > “打印”以打印文件夹列表。

Generated email with folder list

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。在打开的“选择文件夹”对话框中,选择要导出和打印其文件夹列表的邮箱账户,然后点击“确定”。

Select folder dialog

4. 将出现“输出文件夹树”对话框。根据是否需要包含树形缩进,点击“是”或“否”。

Prompt for tree creation

现在,一个名为“Outlook-Folders”的文本文件已创建并保存在您的桌面上,如下所示:

Outlook-Folders text file

5. 双击打开新的文本文件,然后点击“文件” > “打印”以打印导出的Outlook文件夹列表。

Outlook中的AI邮件助手:更智能的回复,更清晰的沟通(一键搞定!) 免费

使用Kutools for Outlook的AI邮件助手简化您的日常Outlook任务。这一强大工具会从您过去的邮件中学习,提供智能化且精准的回复建议,优化您的邮件内容,并帮助您轻松起草和润色邮件。
doc ai email handle

该功能支持:

  • 智能回复:根据您以往的对话生成量身定制、精准且即用的回复。
  • 增强内容:自动优化您的邮件文本,使其更加清晰且有影响力。
  • 轻松撰写:只需提供关键字,AI即可完成其余工作,并支持多种写作风格。
  • 智能扩展:通过上下文感知的建议扩展您的思路。
  • 总结概括:快速获取长邮件的简洁概述。
  • 全球覆盖:轻松将您的邮件翻译成任何语言。

该功能支持:

  • 智能邮件回复
  • 优化后的内容
  • 基于关键字的草稿
  • 智能内容扩展
  • 邮件总结
  • 多语言翻译

最重要的是,此功能永久完全免费不要再犹豫了——立即下载AI邮件助手并体验吧

相关文章

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


最佳 Office 办公效率工具

重磅消息:Kutools for Outlook 推出免费版本!

体验全新 Kutools for Outlook 免费版,70 多个强大功能,永久免费使用!点击立即下载!

🤖 Kutools AI 利用先进的AI技术轻松处理邮件,包括答复、总结、优化、扩展、翻译和撰写邮件。

📧 邮件自动化自动答复(支持POP和IMAP) /计划发送邮件 /发送邮件时根据规则自动抄送密送 / 自动转发(高级规则) / 自动添加问候语 / 自动将群发邮件拆分为单独邮件 ...

📨 邮件管理撤回邮件 / 按主题等方式阻止诈骗邮件 / 删除重复邮件 / 高级搜索 / 整合文件夹 ...

📁 附件专家批量保存 / 批量拆离 / 批量压缩 / 自动保存 / 自动拆离 / 自动压缩 ...

🌟 界面魔法😊更多精美个性表情 /重要邮件来临时提醒您 / 最小化而非关闭 Outlook ...

👍 一键高效操作带附件全部答复 /反钓鱼邮件 / 🕘显示发件人时区 ...

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

使用 Kutools,支持英语、西班牙语、德语、法语、中文及40 多种其他语言,满足您的语言偏好!

一键解锁 Kutools for Outlook。无需等待,立即下载,提升办公效率!

kutools for outlook features1 kutools for outlook features2