跳至主要内容

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

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

Author Xiaoyang Last modified

通常,您可以使用导入/导出功能将Outlook中的邮件导出到Excel。然而,如果您需要在收到新邮件时自动将其导出到Excel文件中,Outlook并没有提供内置的解决方案。本文介绍了两种实现此目的的方法:

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

使用Kutools for Outlook快速将选定文件夹中的所有邮件导出到Excel报告 👍快速且简单


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

如果您需要一种自动化方式将新邮件导出到Excel,可以使用以下VBA代码。该方法会监控收件箱,并在新邮件到达时立即将其详细信息导出到Excel文件中。

步骤1:准备Excel文件

在执行VBA代码之前,请先设置一个Excel工作簿以存储导出的邮件数据。在第一行中,包括以下列标题:序列、发件人名称、发件人电子邮箱、主题和接收时间。

doc auto export emails to excel 1

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

1. 按 Alt + F11 打开Microsoft Visual Basic for Applications窗口。

2. 在Project1 (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 auto export emails to excel 2

⚡ 提示:在上述代码中,C:\Users\DT168\Desktop\split document\kto-data.xlsx 表示将存储邮件数据的Excel工作簿的文件路径和名称。请务必修改此路径以匹配您实际要使用的路径和文件名。

步骤4:启用Microsoft Excel对象库

1. 在Microsoft Visual Basic for Applications窗口中,点击工具 > 引用。

2. 在“引用 - Project1”对话框中,向下滚动并勾选Microsoft Excel对象库选项。

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

doc auto export emails to excel 3

步骤5:保存并重新启动Outlook

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

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

结果:

从现在开始,每个到达收件箱的新邮件都会自动导出到指定的Excel工作簿中。

doc auto export emails to excel 4

VBA方法的局限性:

  • ❌ 仅适用于一个收件箱:此方法只跟踪默认收件箱中的新邮件。如果您有多个账户,它不会捕获其他账户中的邮件。
  • ❌ 需要启用宏的Outlook:VBA宏必须启用才能正常运行,这可能会带来安全问题。
  • ❌ 文件路径依赖:如果Excel文件被移动或删除,代码将失败。
  • ❌ 需要手动设置:用户必须手动输入Excel文件路径并设置VBA环境。

📊 使用 Kutools 实现更智能的邮件统计

通过 Kutools for Outlook统计功能,轻松跟踪和分析您的邮件活动。现在可以按天、周或月统计收到的邮件数量,并以清晰、专业的图表查看结果!只需点击几下即可简化您的邮件管理并获取有价值的见解。

shot of the Statistics result

使用Kutools for Outlook快速将选定文件夹中的所有邮件导出到Excel报告 👍

如果您需要一种无需使用VBA即可从任何文件夹(收件箱、已发送邮件、自定义文件夹)导出邮件的轻松方法,Kutools for Outlook的快速报告功能提供了简单的解决方案。

告别Outlook效率低下的问题!Kutools for Outlook让批量邮件处理更轻松——现在还提供免费的AI功能!立即下载Kutools for Outlook!

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

1. 打开Outlook并导航到您要导出的文件夹(收件箱、发件箱、已发送邮件等)。

2. 点击 Kutools Plus > 报告 > 快速报告。

步骤2:选择保存位置

1. 在“保存报告”窗口中,选择一个位置并为导出文件输入文件名。

2. 点击保存。

doc auto export emails to excel 7

步骤3:打开导出的报告

将出现一个确认消息。点击“是”以打开导出的文件。

doc auto export emails to excel 8

结果:

选定文件夹中的所有邮件都将被导出到Excel友好的XML文件中,显示发件人、主题、接收时间等信息。

doc auto export emails to 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。请按照以下教程操作。
  • 在Outlook中导出带有照片的联系人信息
  • 当您从Outlook导出联系人到文件时,只能导出联系人的文本信息。但是,有时您还需要导出照片以及联系人的文本信息,那么如何在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