Outlook VBA 实现邮件及附件自动保存
以下VBA代码示例演示如何在Outlook中自动保存接收到的邮件及其附件:
Private Sub Application_ItemAdd(ByVal Item As Object)
' 判断是否为邮件
If TypeName(Item) = "MailItem" Then
Dim olMail As Outlook.MailItem
Set olMail = Item
' 设置保存路径
Dim strSavePath As String
strSavePath = "C:saved_emails"
' 创建保存文件夹(如果不存在)
If Dir(strSavePath, vbDirectory) = "" Then
MkDir strSavePath
End If
' 保存邮件
olMail.SaveAs strSavePath & olMail.Subject & ".msg", olMSG
' 保存附件
Dim olAttach As Outlook.Attachment
For Each olAttach In olMail.Attachments
olAttach.SaveAsFile strSavePath & olAttach.DisplayName
Next
End If
End Sub
代码说明:
Application_ItemAdd
事件在邮件到达收件箱时触发。- 代码首先判断接收到的项目是否为邮件 (
MailItem
)。 - 设置邮件和附件的保存路径。
- 如果保存路径不存在,则创建该文件夹。
- 使用
SaveAs
方法保存邮件为.msg
格式。 - 循环遍历邮件的所有附件,并使用
SaveAsFile
方法保存每个附件。
注意:
- 请将
strSavePath
变量的值修改为您希望保存邮件和附件的实际路径。 - 该代码示例仅保存接收到的邮件和附件,如果您需要保存发送的邮件,请修改代码以使用
Application_ItemSend
事件。
2.45KB
文件大小:
评论区