实际工作中经常会遇到批量发邮件的需求,比如发送工资条、节日祝福、定期汇报工作成果、日报、周报、月报等,当然如果发送的邮件不是很多的话完全可以手工发送,一旦遇到批量发送的场景,手工一份一份的发送就会变得机械而重复劳动了。今天分享一个Excel调用电脑OutLook批量发送邮件的技巧,小伙伴们可以,先收藏,等要用到的时候可以有备无患,从容应对,别人加班的时候你还可以准点下班,那岂不是很乐哉!
一、先看看我们需要实现的效果。
发邮件跟写公式一样简单^-^
二、怎样才可以实现?
原理:通过VBA定义一个发邮件的函数,达到批量发送邮件时跟普通公式的用法一样简单的效果。
上面的效果图中我们定义了一个sendmail的函数,如果你现在打开你的excel找这个函数是找不到的,因为这个并不是office的内置函数,但微软给office产品都安装了一个神技能 “宏”,表亲们应该都听过这个,这次咱先不去追究这到底是什么东西,先看如何实现。
具体步骤:
三、发邮件的VBA代码。
感兴趣的童鞋们可以复制以下代码按上面的操作试一试。
'发送邮件函数 sendto收件人多个用英文分号链接 subj邮件主题 mbody邮件正文 filepath附件路径 Public Function sendmail(sendto As String, subj As String, mbody As String, filepath As String) On Error Resume Next Dim oLApp As Object Dim oItem As Object Set oLapp = CreateObject("Outlook.application") Set oItem = oLapp.createitem(0) With oItem .Subject = subj .To = sendto .htmlbody = mbody '加上这一句就可以添加附件 .Attachments.Add filepath .Send '判断是否发送成功 If Err.Number = 0 Then sendmail = "发送成功" Else '如果发送失败则返回失败原因 sendmail = "发送失败:" & Err.Description End If End With Set oLapp = Nothing Set oItem = Nothing End Function
四、保存我们定义的邮件函数。
补充说明:
2007版本及以上的Excel为了保证安全性,强制了含VBA代码的专用文件格,常用存为xlsm格式。
2003版本的Excel,后缀是xls的Excel文件可以直接存储VBA代码,不需要另存为其他格式。
如有疑问欢迎小伙伴们点关注,共同探讨学习。