参考我的资源: https://download.csdn.net/download/paul50060049/11805973
问题的产生
我们在平时工作中可能会遇到要批量发送邮件的工作,例如财务部根据每个人的工资情况发放工资条到个人的邮箱,因为邮件因人而异,所以需要完成大量而细致的工作,工作繁琐,重复劳动多,非常适合批量发送。因此研究如何利用电子表格建立数据,利用OutLook来发送这些数据,要求发送具有表格格式的工资条。
使用工具
Excel及VBA技术
OutLook
数据准备
新建一个工作簿,保存为.xlsm(启用宏的文档)格式
建立两张表,第一张表数据为工资数据,我们用一个测试数据来建立。
序号 | 员工编号 | 姓名 | 所属部门 | 基本工资 | 岗位工资 | 绩效工资 | 补贴 | 其他 | 邮件号 |
---|---|---|---|---|---|---|---|---|---|
1 | M1001 | 王小明 | 办公室 | 16200 | 3000 | 4860 | 1215 | 150 | 1 |
2 | M1002 | 郭海英 | 办公室 | 15120 | 3000 | 4536 | 1134 | 150 | 1 |
3 | M1003 | 史彩霞 | 办公室 | 14500 | 3000 | 4350 | 1010 | 150 | 1 |
4 | M1004 | 徐桂玲 | 销售部 | 19300 | 3200 | 5790 | 1500 | 150 | 1 |
5 | M1005 | 周君正 | 销售部 | 18000 | 3200 | 5400 | 1350 | 150 | 2 |
6 | M1006 | 胡德成 | 销售部 | 16300 | 3200 | 4890 | 1200 | 150 | 2 |
7 | M1007 | 常青 | 销售部 | 16200 | 3200 | 4860 | 1215 | 150 | 2 |
8 | M1008 | 龙虎清 | 技术部 | 18500 | 3500 | 5550 | 1350 | 150 | 3 |
9 | M1009 | 马文瓶 | 技术部 | 18500 | 3500 | 5550 | 1350 | 150 | 3 |
10 | M1010 | 丁静雯 | 技术部 | 17800 | 3500 | 5340 | 1335 | 150 | 3 |
11 | M1011 | 田保东 | 技术部 | 16300 | 3500 | 4890 | 1200 | 150 | 4 |
12 | M1012 | 宋桂英 | 技术部 | 16300 | 3500 | 4890 | 1200 | 150 | 4 |
13 | M1013 | 张玉萍 | 生产部 | 12000 | 2800 | 3600 | 900 | 150 | 4 |
14 | M1014 | 戴雪英 | 生产部 | 10500 | 2800 | 3150 | 800 | 150 | 5 |
15 | M1015 | 李扬 | 生产部 | 10300 | 2800 | 3090 | 800 | 150 | 5 |
16 | M1016 | 王剑飞 | 生产部 | 9800 | 2800 | 2940 | 735 | 150 | 5 |
17 | M1017 | 邱方明 | 生产部 | 8700 | 2800 | 2610 | 650 | 150 | 6 |
18 | M1018 | 刘小青 | 生产部 | 8500 | 2800 | 2550 | 630 | 150 | 6 |
19 | M1019 | 马克萍 | 生产部 | 8300 | 2800 | 2490 | 620 | 150 | 6 |
第2张表是邮件地址表,我们用下面的测试数据
邮件号 | 收件人地址 | 邮件主题 | 邮件内容 | 粘贴附件 |
---|---|---|---|---|
1 | paul50060049@sina.com | 自动发工资条测试 | ||
2 | xxx1@sina.com | 自动发工资条测试 | ||
3 | xxx2@sina.com | 自动发工资条测试 | ||
4 | xxx3@sina.com | 自动发工资条测试 | ||
5 | xxx4@sina.com | 自动发工资条测试 | ||
6 | xxx5@sina.com | 自动发工资条测试 |
xxx@sina.com是假的
其中邮件号是两张表关联的列,用于指示相关的邮件地址
开始准备工资数据
准备邮箱信息
新建一个表,把邮箱的测试信息复制后粘贴进去。
录入VBA代码
按 Alt + F11 组合键,弹出VBA代码编辑器,在当前Excel的文件目录下点击鼠标左键,弹出选择框,选择插入,选取点击模块。
粘贴代码:请下载我关联的资源,资源内包括完整的示例文件和代码
### 添加OutLook的引用
代码和内容都设定好了,还需添加引用,打开编辑器的工具-引用,选择Outlook插件即可,如图所示
![这里写图片描述](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTgwMTI1MDAxNTEzMjIz?x-oss-process=image/format,png)[外链图片转存失败(img-yRZvtjQ7-1569232622135)(https://img-blog.csdn.net/20180125001559712?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGF1bDUwMDYwMDQ5/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)]### 配置OutLook
在OutLook2016上配置默认邮箱,注意sina邮箱的配置较为容易,直接使用邮箱名和密码就好了,网易163和QQ邮箱需要开启pop3和smtp,同时需要启用客户端授权密码,要手机绑定才能配置。
![这里写图片描述](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTgwMTI1MDAyMDI2NTY2?x-oss-process=image/format,png)
### 自动发送邮件
在发送邮件前请先运行OutLook程序,
然后在Excel2016上依次点击:视图->宏->查看宏->执行宏(getEmail_Info),即可实现自动发送邮件。
可以在程序中不显示发送过程的窗口。去掉
.Display
即可
下图是在网页上查看接收的邮件的截图:
![这里写图片描述](https://imgconvert.csdnimg.cn/aHR0cDovL2ltZy5ibG9nLmNzZG4ubmV0LzIwMTgwMTI1MDAyOTUyMzk5?x-oss-process=image/format,png)### 结束语
前一个版本需要繁琐的插入空行制作工资条的过程,发现会出现编辑上的错误,现在修改了一下程序,不需要对电子表格进行太多的处理了。
这是一个自动发送邮件的基本测试,当然我们可以依次为基础建立更多更复杂的应用,不仅在Excel中,也可以在其它开发工具上实现。
得心应手的工具是我们高效工作的保障,当我们要去砍柴前,就先磨一把锋利的刀吧。
测试前请修改一下邮箱,不要直接用,否则都发到我的邮箱中了### 请参见本人上传的资源
资源名称相同
资源链接是:
https://download.csdn.net/download/paul50060049/11805973