用户可能希望将电子邮件保存在硬盘上,以便独立于 Outlook 查看它们或与其他人共享。 在本文中,我们将介绍如何通过 VBA 自动执行此操作。
从 Outlook 导出电子邮件

展望 VBA 脚本
下面是完整的 Outlook VBA 脚本:
Private WithEvents Items As Outlook.Items
Private Count As Integer
Private Sub Application_Startup()
Dim objApp As Outlook.Application
Dim objNameSpace As Outlook.NameSpace
' Get the items in the Inbox folder
Set objApp = Outlook.Application
Set objNameSpace = objApp.GetNamespace("MAPI")
Set Items = objNameSpace.GetDefaultFolder(olFolderInbox).Items
' Initialize count
Count = 1
End Sub
Private Sub Items_ItemAdd(ByVal objItem As Object)
On Error GoTo ShowError
Dim objMail As Outlook.MailItem
' Check if the item is a mail. If yes, then save it as a HTML file and update Count
If TypeName(objItem) = "MailItem" Then
Set objMail = objItem
objMail.SaveAs "C:\MyEmails\MyEmail" & CStr(Count), olHTML
Count = Count + 1
End If
Exit Sub
ShowError:
MsgBox Err.Number & " - " & Err.Description
End Sub
如何运行脚本

理解脚本
在脚本中,“Items_ItemAdd”例程将在收件箱文件夹中的每个传入项目上触发。 “TypeName”函数用于进一步确保仅当项目是电子邮件而不是任何其他类型的 Outlook 对象时例程才会继续。 如果您从任何其他文件夹中拖出一封电子邮件,对收件箱说“已发送邮件”,该例程仍将有效并完成工作。 重要的是要注意“Items_ItemAdd”只会在电子邮件添加到主收件箱文件夹时触发。 如果主收件箱文件夹中有嵌套文件夹,如果向其中任何一个添加电子邮件,代码将不起作用。 为了使其适用于任何其他文件夹,“Items_ItemAdd”应该连接到“Application_S”中的特定文件夹tartup”例程。 在上面的脚本中,olHTML 格式可以替换为 olMSG、olRTF、olDoc 或 olTxt 格式。 保存的每封邮件的默认命名格式是“MyEmail##”,其中##是计数tar从 1 开始逐渐上升。 例如,运行此脚本后收到的第十二封邮件应保存为“MyEmail12”。
Outlook 故障后的数据恢复
Outlook 崩溃并且用户最终丢失大量数据的情况并不少见。 从此类情况中恢复可能是一项非常艰巨且耗时的任务。 为了让你的生活在这种情况下更轻松,你可以使用 展望数据恢复 用于高效且无错误恢复的工具。
作者简介:
Mary Underwood 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 dwg 恢复 和 rar 恢复软件产品。 欲了解更多信息,请访问 datanumen.com