文章插图
实际工作中经常会遇到批量发邮件的需求,比如发送工资条、节日祝福、定期汇报工作成果、日报、周报、月报等,当然如果发送的邮件不是很多的话完全可以手工发送,一旦遇到批量发送的场景,手工一份一份的发送就会变得机械而重复劳动了 。今天分享一个Excel调用电脑OutLook批量发送邮件的技巧,小伙伴们可以,先收藏,等要用到的时候可以有备无患,从容应对,别人加班的时候你还可以准点下班,那岂不是很乐哉!
一、先看看我们需要实现的效果 。
文章插图
发邮件跟写公式一样简单^-^
二、怎样才可以实现?
原理:通过VBA定义一个发邮件的函数,达到批量发送邮件时跟普通公式的用法一样简单的效果 。
上面的效果图中我们定义了一个sendmail的函数,如果你现在打开你的excel找这个函数是找不到的,因为这个并不是office的内置函数,但微软给office产品都安装了一个神技能 “宏”,表亲们应该都听过这个,这次咱先不去追究这到底是什么东西,先看如何实现 。
具体步骤:
- 新建一个空白的Excel文件 。
- 打开Excel文件,按快捷键ALT+F11进入VBE界面 。
- 点击左边的工程窗口,点击鼠标右键,新建一个模块 。
- 把代码贴入到模块中 。
- 回到Excel界面,开始验证发邮件函数 。
- 上面文字没看懂的请看下面的演示 。
文章插图
文章插图
三、发邮件的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 = NothingEnd Function【Excel批量自动发送带附件的邮件】四、保存我们定义的邮件函数 。
- 如果你的Excel是2007及以上版本的,保存的时候会出现如下提示 。
- 保存时请选择启用宏的工作簿即可 。
文章插图
文章插图
补充说明:
2007版本及以上的Excel为了保证安全性,强制了含VBA代码的专用文件格,常用存为xlsm格式 。
2003版本的Excel,后缀是xls的Excel文件可以直接存储VBA代码,不需要另存为其他格式 。
如有疑问欢迎小伙伴们点关注,共同探讨学习 。
文章插图
推荐阅读
- JS-垃圾机制
- .NET导出Excel的四种方法及评测
- 斗山太湖翠竹批量开采
- 如何让微信群二维码长期有效,满200人自动切换下一群
- 批量追踪圆通快递物流详情 圆通快递单号查询跟踪
- Excel中怎么计算出某个日期是星期几
- 使用频率很高的3个Excel函数公式
- 淘宝直播公告怎么设定自动发 淘宝直播间公告如何设置
- 自动感应水龙头怎么样 自动感应水龙头工作原理
- 2019年最流行的五大JavaScript 自动化测试框架