excel怎么批量发送邮件批量发送工资条?
每个月工资条如何发放给大家是一个头疼的事情,因为工资涉及到保密问题,用邮件吧,每个人的邮件内容都有些不一样的地方,人一多就特别容易出错;光这个发工资条就够让人忙活好长时间的了;那么怎么能快速的发放给大家呢?下面小编就为大家介绍excel怎么批量发送邮件批量发送工资条方法,来看看吧!
方法/步骤
按照下图整理工资明细表
1,列数可自行新增删除;
2,如果整理的数据列,无法发送邮件的请把表头内添加大写字母“X”;
3,工作表名称用作了邮件主题,发送前请修改工作表名称;
启用开发工具选项卡;插入命令控件;修改控件名称及显示名;
进入VBA编程界面;复制以下代码到编辑窗口。
Private Sub 全自动发送邮件_Click()
'要能正确发送并需要对Microseft Outlook进行有效配置
On Error Resume Next
Dim rowCount, endRowNo, endColumnNo, sFile$, sFile1$, A&, B&
Dim objOutlook As Object
Dim objMail As MailItem
'取得当前工作表数据区行数列数
endRowNo = ActiveSheet.UsedRange.Rows.Count
endColumnNo = ActiveSheet.UsedRange.Columns.Count
'取得当前工作表的名称,用来作为邮件主题进行发送
sFile1 = ActiveSheet.Name
'创建objOutlook为Outlook应用程序对象
Set objOutlook = CreateObject("Outlook.Application")
'开始循环发送电子邮件
For rowCount = 2 To endRowNo
'创建objMail为一个邮件对象
Set objMail = objOutlook.CreateItem(olMailItem)
With objMail
'设置收件人地址,数据源所在列数
.To = Cells(rowCount, 5)
'设置抄送人地址(从通讯录表的'E-mail地址'字段中获得)
'.CC = Cells(rowCount, 0)
'设置邮件主题,取值工作表名,
.Subject = sFile1
'设置邮件内容(从通讯录表的“内容”字段中获得)
'align 单元格文本显示方式 left(向左)、center(居中)、right(向右),默认是center, width-宽 height-高 border 单元格线粗细,bordercolor返回或设置对象的边框颜色
'colSpan是一种编程语言,其属性可设置或返回表元横跨的列数
sFile = "<tr>您好!<br> 以下是您" + sFile1 + ",请查收!</tr>"
sFile = sFile + "<table align='left' width='500' height='25' border= 1 bordercolor='#000000'> <tbody> "
sFile = sFile + "<tr> <td colspan ='4' align='center'> 工资表</td> </tr> "
B = 1
For A = 1 To endColumnNo
'数据表头中添加“X”后将不发送此字段
If Application.WorksheetFunction.CountIf(Cells(1, A), "*X*") = 0 Then
If B = 1 Then
sFile = sFile + "<tr> <td width='20%' height='25'> " + Cells(1, A).Text + " </td> <td width='30%' height='25'> " + Cells(rowCount, A).Text + "</td>"
B = 0
Else
sFile = sFile + "<td width='20%' height='25'> " + Cells(1, A).Text + " </td> <td width='30%' height='25'> " + Cells(rowCount, A).Text + "</td> </tr>"
B = 1
End If
End If
Next
.HTMLBody = sFile
'设置附件(从通讯录表的“附件”字段中获得)
.Attachments.Add Cells(rowCount, 24).Value
'自动发送邮件
.Send
End With
'销毁objMail对象
Set objMail = Nothing
Next
'销毁objOutlook对象
Set objOutlook = Nothing
'所有电子邮件发送完成时提示
MsgBox rowCount - 2 & "个员工的工资单发送成功!"
End Sub
大功告成,测试图如下
提示:用户定义类型未定义异常处理办法
处理办法:点击工具-引用-勾选<microsoft outlook 14.0 object library>
提示:点击发送OUTLOOK安全提示
处理办法:点击文件-选项-信任中心-信任中心设置-编程访问-勾选从不向我发出可以活动警告
提示:编程访问无法勾选显示灰色时
处理办法:控制面板-用户帐号-点击用户帐号-更改用户账户控制设置-调到从不通知,重启电脑,调整完毕OUTLOOK设置可以再调整回来。
注意事项
提示:发送全可以先断网啊,点击后再去邮箱内的发件箱看效果怎么样,不行可以删除重来的。
实例文档下载地址:http://pan.baidu.com/s/1hrzNA9A
以上就是excel怎么批量发送邮件批量发送工资条方法,操作不是很难,不会的朋友可以参考本文,希望能对大家有所帮助!
推荐阅读:在excel中如何制作漂亮的工资条?
相关文章
Excel如何限制输入位数? excel单元格只能录入5位数字或文本的教程
excel单元格设置只能录入5位数字或文本,这个很简单的,跟着我的步骤,你一步步地仔细看,一定能够明白,时间宝贵,抓紧时间赶快看2024-09-28excel如何快速将数值批量扩大10倍? EXcel表格中数字扩大10倍的技巧
想要将电子表格中一列数据扩大10倍,该怎么批量实现呢?下面我们就来看看excel快速将数据扩大10倍的教程2024-09-28- 在本文中,我们将介绍10个对你的日常数据最有用的数据,以及如何使用它们,详细请看下文介绍2024-09-20
excel表格前几列不见了怎么办? excel前几列隐藏不显示的的解决教程
在使用Excel表格时,有时会遇到前几列不见的情况,这给我们的工作造成了一定的困扰,那么,我们该如何解决这个问题呢?详细请看下文介绍2024-09-15excel编号列隐藏了怎么办? excel最前面的编号列没了的解决教程
在使用Excel表格时,有时会遇到前几列不见的情况,这给我们的工作造成了一定的困扰,比如Excel表格中,序号通常是在第一列显示的,下面我们就来看看重新显示编号的教程2024-09-15excel怎么把重复项合并? excel将相同名字的数据合并在一起的教程
当我们在处理大批量数据时,需要将同类项(即重复项、想通的名字)合并在一起,提升数据的可读性,这样才易于理解,详细请看下文介绍2024-09-15多个重复值如何快速只统计一次? excel重复的数据设置只统计一次教程
excel表格中重复的数据很多,统计数据的时候,想要将重复数据只统计一次,该怎么操作呢?下面我们就来看看详细的教程2024-09-15excel表格数据怎么将大于100的标红小于80显示绿色? 条件格式详细用法
excel表格中有很多数据,想要让大于100的数据标红色,小于80的数据显示绿色,该怎么操作呢?下面我们就来看看详细的教程2024-09-13excel会计专用格式怎么设置? excel将单元格调整为会计专用的教程
在日常工作中,我们经常需要处理一些财务数据,Excel作为一款强大的电子表格工具,无疑是许多会计人员的得力助手,然而,要将Excel单元格调整为会计专用格式,你可能需要一2024-09-13Excel如何制作可选择日期的下拉菜单? excel设置下拉选择日期的教程
在日常办公学习使用Excel表格时,我们有时需要在表格中输入大量日期,如果一个个输入会比较繁琐,那么能否制作一个可以选择日期的下拉菜单,快速选择需要的日期呢?接下来2024-09-13
最新评论