系统:Windows 10
软件:Excel 2016
- 本系列讲讲在Outlook中使用VBA实现一些功能
- 今天讲讲如何实现将特定邮件进行保存
Part 1: 应用场景
- 需要对特定人员发的邮件进行备份处理
图1 邮件文件保存为
图2 双击打开
Part 2: 基本逻辑
- 监听收件箱
- 新收邮件确认其发件人邮件
- 判断邮箱,满足则将该邮件另存为msg文件
Part 3: 代码
Private WithEvents Items As Outlook.Items
Private Sub Application_Startup()
lookName As NameSpace
Set outlookName = Application.GetNamespace("MAPI")
Set outlookFldr = outlookName.GetDefaultFolder(olFolderInbox)
Set Items = outlookFldr.Items
End Sub
Private Sub Items_ItemAdd(ByVal Item As Object)
'发件人
Debug.Print ("新收到的邮件发件人是:" & Item.SenderName)
Debug.Print ("新收到的邮件发件人是:" & Item.SenderEmailAddress)
send_email = Item.SenderEmailAddress
Debug.Print (send_email)
If send_email = "xxx@163.com" Then
strname = Item.Subject
Item.SaveAs "D:\code\" & strname & ".msg"
Else
Debug.Print ("不做处理")
End If
End Sub
图3 代码截图
Part 4: 部分代码解读
Item.SaveAs
另存为新文件,注意格式为msg- 根据需求可以生成多种格式的文件,msg信息较完整,效果等同于ctrl+C,ctrl+V一封邮件
图4 官方说明
- 更多学习交流,可加小编微信号
learningBin
更多精彩,请关注微信公众号
扫描二维码,关注本公众号