工资明细(内含邮箱地址哦)
启用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 = '
以下是您' + sFile1 + ',请查收!
工资表 | |||
' + Cells(1, A).Text + ' | ' + Cells(rowCount, A).Text + ' | ' B = 0 Else sFile = sFile + '' + Cells(1, A).Text + ' | ' + Cells(rowCount, A).Text + ' |