将特定发件人的所有电子邮件导出到 Excel 文件的 2 种方法

立即分享:

如果您想快速导出来自特定发件人的邮件到Excel文件,您可以使用本文介绍的以下2种方式。

由于某些原因,例如做一个总结,有时您可能需要将特定的电子邮件(例如来自特定发件人的电子邮件)导出到 Excel 文件。 当涉及到导出时,本机功能“导出”将发生在 most 用户的想法放在首位。 但老实说,使用 Outlook VBA 比传统的“导出”功能要方便得多。 现在我们将详细介绍这两种方式。

将特定发件人的所有电子邮件导出到 Excel 文件

方法一:使用“导出”功能

  1. 首先,启动您的 Outlook 应用程序。
  2. 然后单击电子邮件列表中的搜索框,这将启用“搜索工具”功能区。
  3. 单击功能区中的“发件人”按钮。
  4. 然后将“发件人姓名”字符替换为特定发件人的姓名。搜索来自特定发件人的电子邮件
  5. 之后,只有来自特定发件人的电子邮件才会显示在列表中。 现在按“Ctrl + A”选择所有这些。
  6. 接下来右键单击并选择“移动”>“其他文件夹”。
  7. 随后,在弹出的“移动项目”对话框中,创建一个新文件夹并选择该文件夹以将特定电子邮件移动到其中。将特定电子邮件移动到新文件夹
  8. 之后,您可以转到“文件”>“打开”>“导入”。
  9. 然后在接下来的对话框中,选择“导出到文件”>“下一步”>“Microsoft Excel 97 – 2003”>“下一步”。
  10. 接下来选择存储来自特定发件人的电子邮件的特定文件夹,然后点击“下一步”。导出向导
  11. 然后单击“浏览”选择一个 Excel 文件或创建一个新的 Excel 文件。
  12. 稍后,单击“下一步”>“完成”。
  13. 最后 Outlook 将用于导出。 导出过程完成后,您可以找到并打开此 Excel 文件。

方法 2:使用 Outlook VBA

  1. 首先,按“Alt + F11”键按钮。
  2. 然后在弹出窗口中,打开一个新模块并将以下代码复制到其中。
Sub ExportEmailsfromSpecificSender()
    Dim objEmails, objSpecificEmails As Outlook.Items
    Dim objItem As Object
    Dim strSpecificSender As String
    Dim strFilter As String
    Dim objExcelApplication As Excel.Application
    Dim objExcelWorkbook As Excel.Workbook
    Dim objExcelWorksheet As Excel.Worksheet
    Dim nRow As Integer
    Dim strFilePath As String
 
    On Error Resume Next
    'Get the emails from a specific sender
    Set objEmails = Application.Session.GetDefaultFolder(olFolderInbox).Items
    strSpecificSender = InputBox("Input the name of the specific sender:", "Specify Sender")
    strFilter = "[From] = '" & strSpecificSender & "'"
    Set objSpecificEmails = objEmails.Restrict(strFilter)
 
    Set objExcelApplication = CreateObject("Excel.Application")
    Set objExcelWorkbook = objExcelApplication.Workbooks.Add
 
    'Export the specific emails to worksheet
    Set objExcelWorksheet = objExcelWorkbook.Worksheets(1)
    With objExcelWorksheet
         .Cells(1, 1) = "Subject"
         .Cells(1, 2) = "Received"
         .Cells(1, 3) = "Body"
         .Cells(1, 4) = "Categories"
         .Cells(1, 5) = "Size"
    End With
 
    nRow = 2
    For Each objItem In objSpecificEmails
        With objExcelWorksheet
             .Name = "From " & strSpecificSender
             .Cells(nRow, 1) = objItem.Subject
             .Cells(nRow, 2) = objItem.ReceivedTime
             .Cells(nRow, 3) = objItem.Body
             .Cells(nRow, 4) = objItem.Categories
             .Cells(nRow, 5) = objItem.Size
        End With
        nRow = nRow + 1
    Next
 
    objExcelWorksheet.Columns("A:E").AutoFit

    'Save the Excel workbook
    strFilePath = "C:\Report\Emails from " & strSpecificSender & ".xlsx"
    objExcelWorkbook.Close True, strFilePath
 
    'Notify you of the export complete
    MsgBox ("Export Complete!")
End Sub

VBA 代码 - 将特定发件人的所有电子邮件导出到 Excel 文件

  1. 随后,单击工具栏中的“运行”图标。
  2. 之后,您将需要输入特定发件人的姓名。输入特定发件人的姓名
  3. 稍后,单击“确定”。
  4. Outlook 将立即tart 导出来自特定发件人的电子邮件并将 Excel 文件保存到预定的目标文件夹。
  5. 导出完成后,您可以到目标文件夹中打开查看。

灵活地摆脱 Outlook 问题

由于 Outlook 容易出现各种错误,因此建议保留有效的 展望修复 附近的工具,例如 DataNumen Outlook Repair. 在这种情况下,要解决小错误,您可以简单地使用 Scanpst.exe。 但是对于严重的麻烦,您可以求助于更强大的工具。

作者简介:

Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 破损 SQL Server 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com

立即分享:

评论被关闭。