如何使用 Outlook VBA 将传入电子邮件的信息自动导出到 Excel 文件

您所在的位置:网站首页 outlook邮件怎么批量导出 如何使用 Outlook VBA 将传入电子邮件的信息自动导出到 Excel 文件

如何使用 Outlook VBA 将传入电子邮件的信息自动导出到 Excel 文件

2024-03-22 10:16| 来源: 网络整理| 查看: 265

许多用户希望 Outlook 能够自动将收到的电子邮件的主要信息导出到 Excel 文件中。 本文将着眼于这一需求,并介绍一种通过 Outlook VBA 快速实现的方法。

有时,由于某些原因,例如邮件统计,您可能经常需要将邮件导出到 Excel 文件。 一般情况下,对于已有的已收到邮件,只需使用“导入导出”功能,即可一次性导出至Excel。 但是,您甚至可能希望 Outlook 可以在收到的电子邮件到达您的邮箱后立即自动将其导出到 Excel。 毫无疑问,Outlook 中没有这样的原生功能。 因此,您需要采用其他方法,例如第 3 方加载项或 Outlook VBA。 在这里,我们将教您如何使用 Outlook VBA 使其自动化。 继续阅读以获取步骤和相应的代码。

将传入电子邮件的信息自动导出到 Excel 文件 首先,您应该创建一个 Excel 文件。 打开一个新的Excel文件。 然后你应该输入“否”。 在A1单元格中,B1单元格中的“发件人姓名”,C1单元格中的“发件人电子邮件地址”,D1单元格中的“电子邮件主题”和E1单元格中的“接收时间”,如下图。创建一个 Excel 文件 最后将其保存在您想要的名称和文件夹中。 之后,您应该启动 Outlook。 然后按“Alt + F11”键按钮,这将带您进入 VBA 编辑器。 接下来在弹出窗口中,您应该双击左侧的“ThisOutlookSession”。 随后,在“ThisOutlookSession”项目窗口中,您需要将以下VBA代码复制并粘贴到其中。 Public WithEvents objMails As Outlook.Items Private Sub Application_Startup() 设置 objMails = Outlook.Application.Session.GetDefaultFolder(olFolderInbox).Items End Sub Private Sub objMails_ItemAdd(ByVal Item As Object) Dim objMail As Outlook.MailItem Dim strExcelFile As String Dim objExcelApp As Excel.Application Dim objExcelWorkBook As Excel。 Workbook Dim objExcelWorkSheet As Excel.Worksheet Dim nNextEmptyRow As Integer Dim strColumnB As String Dim strColumnC As String Dim strColumnD As String Dim strColumnE As String If Item.Class = olMail Then Set objMail = Item End If '指定要自动发送的 Excel 文件export the email list 'You can change it per your case strExcelFile = "E:\Email\Email Statistics.xlsx" '获取对 Excel 文件的访问权限 On Error Resume Next Set objExcelApp = GetObject(, "Excel.Application") If Error 0 Then Set objExcelApp = CreateObject("Excel.Application") End If Set objExcelWorkBook = objExcelApp.Workbooks.Open(strExcelFile) Set objExcelWorkSheet = objExcelWorkBook.Sheets("Sheet1") '获取Excel工作表中的下一个空行nNextEmptyRow = objExcelWorkSheet.Range("B" & objExcelWorkSheet.Rows.Count).End(xlUp).Row + 1 '指定不同列对应的值 strColumnB = objMail.SenderName strColumnC = objMail.SenderEmailAddress strColumnD = objMail.Subject strColumnE = objMail.ReceivedTime '将值添加到列中等.Range("D" & nNextEmptyRow) = strColumnD objExcelWorkSheet.Range("E" & nNextEmptyRow) = strColumnE '调整从 A 到 E 的列 objExcelWorkSheet.Columns("A:E").AutoFit '保存更改并关闭Excel 文件 objExcelWorkBook.Close SaveChanges:=True End Sub

VBA 代码 - 将传入电子邮件的信息自动导出到 Excel 文件

稍后您应该签署此代码。 随后,研究tart Outlook 激活新的 VBA 项目。 最终,从现在开始,所有收到的电子邮件一旦进入您的收件箱文件夹,就会自动导出到预设的 Excel 文件中。 excel 文件将如下图所示:包含传入电子邮件信息的 Excel 文件 避免痛苦的 PST 数据损坏

由于其各种功能,Outlook 赢得了很多荣誉。 但是,这并不意味着万无一失。 它仍然可以随时受到损害。 例如,如果您经常不当关闭 Outlook,您的 PST 数据很可能会面临危险。 在这种情况下,如果您想 修复PST 数据,您必须求助于经验丰富的工具,例如 DataNumen Outlook Repair.

作者简介:

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3