使用Excel批量给客户发送不同内容的邮件
2022-05-30平淡
平淡
1. 配置邮件客户端
发送邮件使用Outlook组件。启动Outlook后登录发送邮件的账户,然后发送一封测试邮件,确保可以正常发送邮件。
2. 判断客户状态
定位到D2单元格并输入公式“=IFS(TODAY()-C2>=365,"禁用",TRUE,"正常")”,下拉填充公式到相应的单元格,即可完成客户状态的判断(图2)。
公式解释:
使用IFS函数将当天日期和客户上一次更改密码的日期相减,如果差值大于等于365天(表示1年未更改过密码了),那么客户状态会显示为“禁用”,否则显示为“正常”。
3. 填写原因
定位到E2单元格并输入公式“=IFS(D2="禁用","因为您的密码更改时间已经超过"&ROUND(TODAY()-C2,0)&"天",TRUE,"")”,然后下拉填充公式。这里同样使用IFS函数做出判断,同时嵌套ROUND函数对实际天数取整,这样在“原因”一栏中就可以显示客户“当天-上一次更改密码日期”的间隔天数了(图3)。
4. 设置邮件内容
批量发送邮件可以通过V B A代码来完成。先到“https://share.weiyun.com/Dcmcb4n7”下载所需的代码,打开后全选代码并复制,接着在E xc e l中按下“Alt+F11”组合键打开VBA编辑窗口,依次点击“插入→模块”,将刚刚复制的代码粘贴到代码框中(图4)。
代码解释:
这里通过Outlook发送邮件,设置了几个不同的变量来实现对客户的邮箱地址、账户状态、原因的引用,最后通过For语句遍历查询。这样激活代码后就会按照A列中的邮箱地址,依次将引用的内容作为邮件正文发送给客户。其中“useremail =Cells(iCounter, 1).Value”,表示客户的邮箱地址是从A2单元格,即Cells(2.1)开始引用。客户姓名、账户状态、原因的引用与之类似。如果你的文件结构和本文有所不同,按图示更改相应的代码即可(图5)。
5. 添加筛选条件
因为只需要给账户状态异常的客户发送邮件,所以先要添加筛选条件。新建工作表Sheet2,接着返回原来的工作表(假设为Sheet1),定位到D列并点击“数据→筛选”,添加筛选按钮。然后依次点击“开发工具→录制宏”,录制下面的操作:
点击D1单元格中的筛选按钮,去除“全选”的勾选,仅选择“禁用”。然后返回Sheet1并复制A1:E40数据区域,再切换到Sheet 2并定位到A1单元格,依次点击“开始→粘贴”,将筛选过的数据粘贴到Sheet 2中。最后结束宏的录制,将其另保存为“宏1”,并为其设置一个运行快捷键,如“Ctrl+Shift+W”(图6)。
6. 实际使用
以后小王只要定期从系统中导出数据,然后分别将其粘贴到Sheet1中的A~C列。当需要批量發送邮件时,按下“Ctrl+Shif t+W”快捷键先完成账户状态的筛选和复制,接着切换到Sheet2,依次点击“开发工具→宏→发送邮件→执行”,Excel就会自动调用Outlook来发送邮件了,在任务栏的托盘中可以看到调用Outlook的状态(图7)。
发送完邮件后打开Outlook,切换到“已发送邮件”,即可看到给客户发送的提醒邮件,邮件正文就是上述VBA中设置的内容(图8)。
大家也可以参考上述的方法,在E xc el中预先设置好员工的生日祝福内容,在生日到来之前批量发送给员工。