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

如何自动将 Outlook 邮件导出到 Excel?

作者晓阳修改日期

通常,您可以通过“导入/导出”功能将 Outlook 邮件导出为 Excel。但如果您希望在新邮件到达时自动导出到 Excel 文件,Outlook 并未提供内置方案。本文将为您介绍两种实现方法:

使用 VBA 自动将新收件箱邮件导出到 Excel手动繁琐

使用 Kutools for Outlook 快速导出所选文件夹下全部邮件并生成 Excel 报表 👍快捷高效


使用 VBA 自动将新收件箱邮件导出到 Excel

如果您希望自动将新收到的邮件导出到 Excel,可以使用以下 VBA 代码。此方法会实时监控收件箱文件夹,一旦有新邮件到达,即可将邮件详情导出到 Excel。

步骤 1:准备 Excel 文件

在运行 VBA 代码前,请先创建一个用于存储导出邮件数据的 Excel 工作表。建议在第一行设置以下列标题:No.、发件人名称、发件人电子邮箱、主题、接收时间。

doc 自动导出邮件到 Excel 1

步骤 2:在 Outlook 打开 VBA 编辑器

1. 请按下 Alt+F11,即可打开 Microsoft Visual Basic for Applications 窗口。

2. 在 Project 1 (VbaProject.OTM) 窗格中,展开 Microsoft Outlook Objects,然后双击 ThisOutlookSession。

步骤 3:插入 VBA 代码

将以下 VBA 代码复制粘贴到模块中:

Public WithEvents GMailItems As Outlook.Items
Private Sub Application_Startup()
    Set GMailItems = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items
End Sub
Private Sub GMailItems_ItemAdd(ByVal Item As Object)
    Dim xMailItem As Outlook.MailItem
    Dim xExcelFile As String
    Dim xExcelApp As Excel.Application
    Dim xWb As Excel.Workbook
    Dim xWs As Excel.Worksheet
    Dim xNextEmptyRow As Integer
    On Error Resume Next
    If Item.Class <> olMail Then Exit Sub
    Set xMailItem = Item
    ' Update this path with your actual Excel file path  
    xExcelFile = "C:\Users\DT168\Desktop\split document\kto-data.xlsx"
    If IsWorkBookOpen(xExcelFile) = True Then
        Set xExcelApp = GetObject(, "Excel.Application")
        Set xWb = GetObject(xExcelFile)
        If Not xWb Is Nothing Then xWb.Close True
    Else
        Set xExcelApp = New Excel.Application
    End If
    Set xWb = xExcelApp.Workbooks.Open(xExcelFile)
    Set xWs = xWb.Sheets(1)
    xNextEmptyRow = xWs.Range("B" & xWs.Rows.Count).End(xlUp).Row + 1
    With xWs
        .Cells(xNextEmptyRow, 1) = xNextEmptyRow - 1
        .Cells(xNextEmptyRow, 2) = xMailItem.SenderName
        .Cells(xNextEmptyRow, 3) = xMailItem.SenderEmailAddress
        .Cells(xNextEmptyRow, 4) = xMailItem.Subject
        .Cells(xNextEmptyRow, 5) = xMailItem.ReceivedTime
    End With
    xWs.Columns("A:E").AutoFit
    xWb.Save
End Sub
Function IsWorkBookOpen(FileName As String)
    Dim xFreeFile As Long, xErrNo As Long
    On Error Resume Next
    xFreeFile = FreeFile()
    Open FileName For Input Lock Read As #xFreeFile
    Close xFreeFile
    xErrNo = Err
    On Error GoTo 0
    Select Case xErrNo
        Case 0: IsWorkBookOpen = False
        Case 70: IsWorkBookOpen = True
        Case Else: Error xErrNo
    End Select
End Function

doc 自动导出邮件到 Excel 2

⚡ 提示:在上述代码中,C:\Users\DT 168\Desktop\split document\kto-data.xlsx 表示存储邮件数据的文件路径路径和 Excel 工作表。请务必根据实际情况修改该路径和文件名。

步骤 4:启用 Microsoft Excel 对象库

1. 在 Microsoft Visual Basic for Applications 窗口中,点击“工具”菜单,然后选择“引用”。

2. 在“引用 - Project 1”对话框中,下拉查找并勾选 Microsoft Excel 对象库选项。

3. 点击“确定”以应用更改。

doc 自动导出邮件到 Excel 3

步骤 5:保存并重启 Outlook

1. 保存 VBA 代码后关闭编辑器。

2. 重启 Outlook 以使更改生效。

效果:

此后,所有新到达收件箱的邮件都将自动导出到指定的 Excel 工作表。

doc 自动导出邮件到 Excel 4

VBA 方法的局限性:

  • ❌ 仅支持单一收件箱:此方法仅能跟踪默认收件箱中新建的邮件。如有多个帐户,无法获取其他帐户的邮件。
  • ❌ 需要启用宏的 Outlook:必须启用 VBA 宏才能使用此方法,可能带来安全风险。
  • ❌ 依赖文件路径:一旦 Excel 文件被移动或删除,代码将无法运行。
  • ❌ 需要手动设置:用户需手动输入 Excel 文件路径,并自行搭建 VBA 环境。

📊使用 Kutools 让邮件统计更智能

通过 Kutools for Outlook统计功能,轻松跟踪和分析您的邮件活动。现在,您可以按天、周或月统计接收邮件的数量,并通过清晰专业的图表直观查看结果!只需几次点击,即可简化邮件管理,深入洞察关键信息。

统计结果截图

使用 Kutools for Outlook 快速导出所选文件夹下全部邮件并生成 Excel 报表 👍

如果您正在寻找一种无需 VBA、即可直接从任意文件夹(如收件箱、已发送邮件或自定义文件夹)便捷导出邮件的方法,Kutools for Outlook 的快速报告功能将是您的理想之选。

告别 Outlook 低效!Kutools for Outlook 助您高效批量处理邮件——现已推出 30 天免费试用!立即下载 Kutools for Outlook!

步骤 1:选择文件夹并启用快速报告功能

1. 打开 Outlook,进入您需要导出邮件的文件夹(如收件箱、发件箱、已发送邮件等)。

2. 点击 KUTOOLS PLUS > “报表” > “快速报告”。

步骤 2:选择保存位置

1. 在保存报告窗口中,选择存储路径并输入导出文件名。

2. 点击“保存”按钮。

doc 自动导出邮件到 Excel 7

步骤 3:打开导出报告

系统会弹出确认提示,点击“是”即可打开导出的文件。

doc 自动导出邮件到 Excel 8

效果:

所选文件夹中的所有邮件将被导出为兼容 Excel 的 XML 文件,包含发件人、主题、接收时间等丰富信息。

doc 自动导出邮件到 Excel 9

Kutools for Outlook 方法的优势:

  • 支持任意文件夹:可导出收件箱、已发送邮件、发件箱或自定义文件夹中的邮件。
  • 无须 VBA:无需启用宏,也不用编写代码。
  • 多账号支持:轻松导出多个电子邮件账户的邮件,提升管理效率。
  • 节省时间:只需几次点击,报表即可立即生成。
  • 数据导出可自定义:可根据需求选择导出内容(主题、发件人、日期等)。
注意要使用 Kutools for Outlook 的快速报告工具,请先下载安装 Kutools for Outlook

您应该选择哪种方法?

下表比较两种方法,助您选择最适合自身需求的方案:

方法最适用场景易用性效率
使用 VBA 代码(自动但较复杂)自动从收件箱导出新建邮件⭐⭐⭐⭐⭐⭐
使用 Kutools for Outlook(简单且灵活)快速导出所选文件夹下的所有邮件⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐

选择合适的方法后,您即可根据自身需求,高效地将 Outlook 邮件导出到 Excel!


相关文章

  • 在 Outlook 将邮件正文表格导出到 Excel
  • 收到包含正文表格的邮件时,您可能需要将所有表格批量导出到 Excel 工作表。虽然通常可以通过复制粘贴来操作,但当需要导出多个表格时,以下方法将为您带来更高效的批量导出体验。
  • 在 Outlook 中提取或导出任务列表到 Excel
  • 在使用 Outlook 时,您可以将任务列表导出到 Excel,以便进行更多操作。通过 Outlook 强大的导出功能,您能够轻松将任务列表导出至 Excel。请按照以下教程进行操作。

最佳办公效率工具

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