如果您想将所有已标记电子邮件的列表从 Outlook 邮箱导出到 Excel,您可以使用本文中分享的两种方法之一。
例如,为了更及时地处理所有标记的电子邮件或与其他人共享,您可能希望将它们导出到 Excel 工作表。 这里我们将介绍2种实现方式。 前者在找到被标记的电子邮件后使用标准的“导入和导出”功能。 老实说,这有点乏味。 因此,在后一篇中,我们将教您一种更方便的应用VBA的方法。

方法 1:手动导出所有找到的带标记的电子邮件
- 首先,单击邮件列表上方的搜索框。
- 然后,单击“搜索”选项卡上“范围”组中的“所有邮件项目”。
- 接下来,单击“定义”组中的“标记”按钮。
- 在列表中显示所有标记的电子邮件后,选择一封邮件并按“Ctrl + A”选择所有邮件。
- 然后,按“Ctrl + Shift + V”快捷键。
- 在新建对话框中,在 Outlook 文件下创建一个新文件夹。
- 稍后,选择新创建的文件夹并单击“确定”,这会将所有找到的带标记的电子邮件移动到新文件夹。
- 之后,单击 “文件” > “打开” > “导入”,
- 在弹出的对话框中选择“导出到文件”>“下一步”>“Microsoft Excel 97-2003”>“下一步”。
- 在新屏幕中,选择正确的文件夹并点击“下一步”。
- 随后,按照向导完成“导出”。
- 您将获得一个新的 Excel 文件,如下图所示。
方法 2:通过 VBA 导出所有标记邮件的列表
- 在 Outlook 中,按“Alt + F11”以触发 VBA 编辑器。
- 然后,根据“如何添加对象库rary VBA 中的引用“。
- 接下来,将下面的 VBA 代码复制到一个模块中。
Dim objExcelApp As Excel.Application
Dim objExcelWorkbook As Excel.Workbook
Dim objExcelWorksheet As Excel.Worksheet
Sub ExportAllFlaggedEmailsToExcel()
Dim objOutlookFile As Outlook.Folder
Dim objFolder As Outlook.Folder
'Select a source PST file
Set objOutlookFile = Outlook.Application.Session.PickFolder
If Not (objOutlookFile Is Nothing) Then
'Create a new Excel file
Set objExcelApp = CreateObject("Excel.Application")
Set objExcelWorkbook = objExcelApp.Workbooks.Add
Set objExcelWorksheet = objExcelWorkbook.Sheets("Sheet1")
objExcelApp.Visible = True
With objExcelWorksheet
.Cells(1, 1) = "Subject"
.Cells(1, 1).Font.Bold = True
.Cells(1, 2) = "Start Date"
.Cells(1, 2).Font.Bold = True
.Cells(1, 3) = "Due Date"
.Cells(1, 3).Font.Bold = True
.Cells(1, 4) = "From"
.Cells(1, 4).Font.Bold = True
.Cells(1, 5) = "To"
.Cells(1, 5).Font.Bold = True
End With
For Each objFolder In objOutlookFile.Folders
If objFolder.DefaultItemType = olMailItem Then
Call ProcessMailFolders(objFolder)
End If
Next
objExcelWorksheet.Columns("A:E").AutoFit
MsgBox "Completed!", vbInformation + vbOKOnly, "Export Emails"
End If
End Sub
Sub ProcessMailFolders(ByVal objCurrentFolder As Outlook.Folder)
Dim i As Long
Dim objMail As Outlook.MailItem
Dim objFlaggedMail As Outlook.MailItem
Dim nLastRow As Integer
Dim objSubfolder As Outlook.Folder
For i = 1 To objCurrentFolder.Items.Count
If objCurrentFolder.Items(i).Class = olMail Then
'Export the information of each flagged email to Excel
Set objMail = objCurrentFolder.Items(i)
If objMail.IsMarkedAsTask = True And objMail.FlagStatus <> olFlagComplete Then
Set objFlaggedMail = objMail
With objExcelWorksheet
nLastRow = .Range("A" & .Rows.Count).End(xlUp).Row + 1
.Range("A" & nLastRow) = objFlaggedMail.Subject
.Range("B" & nLastRow) = objFlaggedMail.TaskStartDate
.Range("C" & nLastRow) = objFlaggedMail.TaskDueDate
.Range("D" & nLastRow) = objFlaggedMail.SenderName
.Range("E" & nLastRow) = objFlaggedMail.To
End With
End If
End If
Next i
If objCurrentFolder.Folders.Count > 0 Then
For Each objSubfolder In objCurrentFolder.Folders
Call ProcessMailFolders(objSubfolder)
Next
End If
End Sub
- 最后,将光标放在“ExportAllFlaggedEmailsToExcel”子程序中,然后点击“F5”键按钮。
- 然后,在新对话框中选择一个 Outlook 文件。
- 当您得到“已完成”提示时,您还会得到一个新的 Excel 文件,如下图所示。
保护您的 Outlook 免受损坏
Outlook 容易出错和损坏,因此保护我们的 Outlook 数据对我们来说是一项非常艰巨的任务。 毫无疑问,米ost 有效且实用的方法是定期为 Outlook 进行数据备份。 除此之外,我们也有必要掌握一个功能强大且值得信赖的Outlook修复工具,例如 DataNumen Outlook Repair. 它会派上用场,如果 收件箱维修工具 没有效果。
作者简介:
Shirley Zhang 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 固定 SQL Server 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com








