跳到主要内容

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

通常,您可以使用导入/导出功能将电子邮件从Outlook导出到Excel。 但是,您是否曾经尝试在收到新邮件时将电子邮件自动导出到Excel文件? 在本文中,我将讨论如何在Excel中自动导出新传入消息的信息。

使用VBA代码自动将电子邮件信息从Outlook导出到Excel

借助出色功能将电子邮件信息从Outlook导出到Excel


使用VBA代码自动将电子邮件信息从Outlook导出到Excel

要将新收到的电子邮件自动导出到Excel工作簿,请应用以下VBA代码:

1。 首先,您应该使用下面的标题信息创建一个工作簿,如下面的屏幕快照所示,这样消息的这些信息将被导出到此Excel文件中。

doc自动将电子邮件导出到excel 1

2。 然后转到Outlook并按住 ALT + F11 键打开 Microsoft Visual Basic应用程序 窗口。

3。 在 Microsoft Visual Basic应用程序 窗口,双击 本次展望会议 来自 Project1(VbaProject.OTM) 窗格以打开模式,然后将以下代码复制并粘贴到空白模块中。

VBA代码:自动将电子邮件信息从Outlook导出到Excel文件:

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
    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

备注:在上面的代码中, C:\ Users \ DT168 \ Desktop \ split document \ kto-data.xlsx 是您要查找导出信息的Excel文件路径和Excel名称,请根据需要进行更改。

doc自动将电子邮件导出到excel 2

4。 仍在 Microsoft Visual Basic应用程序 窗口中,单击 工具 > 参考资料参考-Project1 对话框,然后检查 Microsoft Excel对象库 选项从 可用参考 列表框,请参见屏幕截图:

doc自动将电子邮件导出到excel 3

5。 然后点击 OK 按钮关闭对话框,然后保存并关闭代码窗口。

6。 现在,您应该重新启动Outlook,以使此代码生效。 从现在开始,如果有新邮件到达,它们将自动导出到特定的工作簿中,请参见屏幕截图:

doc自动将电子邮件导出到excel 4


借助出色功能将电子邮件信息从Outlook导出到Excel

如果要将电子邮件从“收件箱”,“发件箱”或其他文件夹导出到Excel文件, Kutools for Outlook's 快速报告 可以帮助您轻松生成XML文件,以便根据需要报告当前电子邮件文件夹或任务文件夹中所有项目的信息。

请注意:申请这个 快速报告,首先,您应该下载 Kutools for Outlook,然后快速轻松地应用该功能。

安装后 Kutools for Outlook,请这样做:

1。 选择您要导出所有邮件信息的文件夹,然后单击“确定”。 Kutools 加 > 快速报告,请参见屏幕截图:

2。 然后,在弹出 保存报告 窗口中,选择一个位置并为此导出文件指定名称,请参见屏幕截图:

3。 然后,单击 保存 按钮以保存此文件,然后在弹出的框中单击 USB MIDI(XNUMX通道) 按钮打开文件,请参见屏幕截图:

4。 现在,您可以看到所选文件夹中电子邮件的所有信息已导出到Excel文件中,请参见屏幕截图:


更多相关文章:

  • 在Outlook中将电子邮件正文表导出到Excel
  • 当您收到一封包含正文中某些表的电子邮件时,有时,您可能需要将所有表从邮件正文导出到excel工作表中。 通常,您可以将表复制并粘贴到工作表中,但是,在这里,我将讨论当需要导出多个表时解决此工作的有用方法。
  • 将任务列表提取或导出到Outlook中的Excel
  • 使用Outlook时,可以将任务列表提取到Excel以供其他使用。 借助Outlook中强大的导出功能,您可以轻松地将任务列表导出到Excel。 请按照以下教程显示进行操作。
  • 在Outlook中使用照片导出联系人信息
  • 当您将联系人从Outlook导出到文件时,只能导出联系人的文本信息。 但是,有时候,您需要导出照片以及联系人的文本信息,如何在Outlook中处理此任务?

最佳办公生产力工具

Kutools for Outlook - 超过 100 种强大功能可增强您的 Outlook

🤖 人工智能邮件助手: 具有人工智能魔力的即时专业电子邮件——一键天才回复、完美语气、多语言掌握。轻松改变电子邮件! ...

📧 电子邮件自动化: 外出(适用于 POP 和 IMAP)  /  安排发送电子邮件  /  发送电子邮件时按规则自动抄送/密件抄送  /  自动转发(高级规则)   /  自动添加问候语   /  自动将多收件人电子邮件拆分为单独的消息 ...

📨 电子邮件管理: 轻松回忆电子邮件  /  按主题和其他人阻止诈骗电子邮件  /  删除重复的电子邮件  /  高级搜索  /  合并文件夹 ...

📁 附件专业版批量保存  /  批量分离  /  批量压缩  /  自动保存   /  自动分离  /  自动压缩 ...

🌟 界面魔法: 😊更多又漂亮又酷的表情符号   /  使用选项卡式视图提高 Outlook 工作效率  /  最小化 Outlook 而不是关闭 ...

👍 一键奇迹: 使用传入附件回复全部  /   反网络钓鱼电子邮件  /  🕘显示发件人的时区 ...

👩🏼‍🤝‍👩🏻 通讯录和日历: 从选定的电子邮件中批量添加联系人  /  将联系人组拆分为各个组  /  删除生日提醒 ...

超过 100特点 等待您的探索! 单击此处了解更多。

了解更多       免费下载      购买
 

 

Comments (8)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
If I have more than one email accounts in outlook, how can I output the emails from a specified account ?
This comment was minimized by the moderator on the site
I have followed above steps but have blanks in excel.
what should I do?
This comment was minimized by the moderator on the site
Same excel not getting updated? Any suggestions?
This comment was minimized by the moderator on the site
How to capture the Categories, Importance or the User-defined column on the same folder view?
This comment was minimized by the moderator on the site
Can you please let me know how to deal with sub-folders in above code.
This comment was minimized by the moderator on the site
how to deal with subfolders.
This comment was minimized by the moderator on the site
I need the help about exporting Email information sent (outgoing) emails
This comment was minimized by the moderator on the site
Hello, Jorge,
If you want to export the sent messages from the Sent Items folder, the Kutools for Outlook's Quick Report feature can help you. You can download the Kutools for Outlook first and then apply it.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations