跳至主要内容

Kutools for Office — 一套工具,五种功能。事半功倍。

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

Author Kelly Last modified

一般来说,您可以按“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,超过100 种强大功能!立即点击下载!

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

📧 邮箱自动化自动答复(支持 POP 和 IMAP) /计划发送邮件 /发送邮件时按规则自动抄送密送 / 自动转发(高级规则) / 自动添加问候语 / 自动将多收件人的邮件分割为单独邮件 ...

📨 邮件管理撤回邮件 / 按主题及其他条件阻止欺诈邮件 / 删除重复邮件 / 高级搜索 / 整合文件夹 ...

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

🌟 界面魔法😊更多美观酷炫的表情 /重要邮件到达时提醒 / 最小化 Outlook 而非关闭 ...

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

👩🏼‍🤝‍👩🏻 联系人与日历批量添加选中邮件中的联系人 / 分割联系人组为单独的组 / 移除生日提醒 ...

可根据您偏好选择 Kutools 使用语言——支持英语、西班牙语、德语、法语、中文及40 多种其他语言!

只需点击一下即可立即激活 Kutools for Outlook。无需等待,立即下载,提升工作效率!

kutools for outlook features1 kutools for outlook features2

🚀 一键下载——获取所有 Office 插件

强烈推荐:Kutools for Office(五合一)

一键下载五个安装包Kutools for Excel、Outlook、Word、PowerPoint以及 Office Tab Pro 立即点击下载!

  • 一键便利操作:一次下载全部五个安装包。
  • 🚀 随时满足 Office任务需求:需要哪个插件随时安装即可。
  • 🧰 包含:Kutools for Excel / Kutools for Outlook / Kutools for Word / Office Tab Pro / Kutools for PowerPoint