Private Sub 全自动发送邮件_Click()

'要能正确发送并需要对Microseft Outlook进行有效配置

On Error Resume Next

Dim rowCount, endRowNo

Dim objOutlook As New Outlook.Application

Dim objMail As MailItem

'取得当前工作表与Cells(1,1)相连的数据区行数

endRowNo = Cells(1, 1).CurrentRegion.Rows.Count

'创建objOutlook为Outlook应用程序对象

Set objOutlook = New Outlook.Application

'开始循环发送电子邮件

For rowCount = 3 To endRowNo

'创建objMail为一个邮件对象

Set objMail = objOutlook.CreateItem(olMailItem)

With objMail          '设置收件人地址(从通讯录表的“E-mail地址”字段中获得)

.To = Cells(rowCount, 5)        '设置抄送人地址(从通讯录表的'E-mail地址'字段中获得)

'.CC = Cells(rowCount, 0)

'设置邮件主题Cells(1, 1)是主题所在单元格a1单元格值,Cells(2, 1)是a2单元格值

.Subject = Cells(1, 1)

'设置邮件内容(从通讯录表的“内容”字段中获得)  'align  单元格文本显示方式 left(向左)、center(居中)、right(向右),默认是center, width-宽 height-高  border 单元格线粗细,bordercolor返回或设置对象的边框颜色  'colSpan是一种编程语言,其属性可设置或返回表元横跨的列数

'Cells(rowCount, 2)  B列数据姓名,如果你的姓名不在B列,修改数字2,以此类推,如果用不了这么多列可以删除哦

.HTMLBody = "你好<br> &nbsp;&nbsp;" + Cells(rowCount, 2) + Cells(rowCount, 6) + "<br> <br>&nbsp;&nbsp;以下是你<font color= 'red'><b>" + Cells(1, 1) + "</b></font>明细如下:</tr>" + _  "<table align='center' width='500' height='25' border= 1   bordercolor='#000000'> <tbody> <tr>  <td colspan ='4' align='center'> 工资表     </td> </tr> " + _   "<tr>  <td width='25%' height='25'> " + Cells(2, 1) + "   </td> <td  width='25%' height='25'> " + Cells(rowCount, 1) + "</td>          <td width='25%' height='25'> " + Cells(2, 2) + "   </td> <td  width='25%' height='25'> " + Cells(rowCount, 2) + "</td> </tr>" + _   "<tr>  <td width='25%' height='25'> " + Cells(2, 3) + "   </td> <td  width='25%' height='25'> " + Cells(rowCount, 3) + "</td>          <td width='25%' height='25'> " + Cells(2, 4) + "   </td> <td  width='25%' height='25'> " + Cells(rowCount, 4) + "</td> </tr>" + _   "<tr>  <td width='25%' height='25'> " + Cells(2, 5) + "   </td> <td  width='25%' height='25'> " + Cells(rowCount, 5) + "</td>          <td width='25%' height='25'> " + Cells(2, 6) + "   </td> <td  width='25%' height='25'> " + Cells(rowCount, 6) + "</td> </tr>" + _   "<tr>  <td width='25%' height='25'> " + (Cells(2, 7)) + "  </td> <td  width='25%' height='25'> " + Str(Cells(rowCount, 7)) + "</td>    <td width='25%' height='25'> " + (Cells(2, 8)) + "  </td> <td  width='25%' height='25'> " + Str(Cells(rowCount, 8)) + "</td> </tr>" + _   "<tr>  <td width='25%' height='25'> " + (Cells(2, 9)) + "  </td> <td  width='25%' height='25'> " + Str(Cells(rowCount, 9)) + "</td>    <td width='25%' height='25'> " + (Cells(2, 10)) + "  </td> <td  width='25%' height='25'> " + Str(Cells(rowCount, 10)) + "</td> </tr>" + _   "<tr>  <td width='25%' height='25'> " + (Cells(2, 11)) + "  </td> <td  width='25%' height='25'> " + Str(Cells(rowCount, 11)) + "</td>  <td width='25%' height='25'> " + (Cells(2, 12)) + "  </td> <td  width='25%' height='25'> " + Str(Cells(rowCount, 12)) + "</td> </tr>" + _   "<tr>  <td width='25%' height='25'> " + (Cells(2, 13)) + "  </td> <td  width='25%' height='25'> " + Str(Cells(rowCount, 13)) + "</td>  <td width='25%' height='25'> " + (Cells(2, 14)) + "  </td> <td  width='25%' height='25'> " + Str(Cells(rowCount, 14)) + "</td> </tr>" + _   "<tr>  <td width='25%' height='25'> " + (Cells(2, 15)) + "  </td> <td  width='25%' height='25'> " + Str(Cells(rowCount, 15)) + "</td>  <td width='25%' height='25'> " + (Cells(2, 16)) + "  </td> <td  width='25%' height='25'> " + Str(Cells(rowCount, 16)) + "</td> </tr>" + _   "<tr>  <td width='25%' height='25'> " + (Cells(2, 17)) + "  </td> <td  width='25%' height='25'> " + Str(Cells(rowCount, 17)) + "</td>  <td width='25%' height='25'> " + (Cells(2, 18)) + "  </td> <td  width='25%' height='25'> " + Str(Cells(rowCount, 18)) + "</td> </tr>" + _   "<tr>  <td width='25%' height='25'> " + (Cells(2, 19)) + "  </td> <td  width='25%' height='25'> " + Str(Cells(rowCount, 19)) + "</td>  <td width='25%' height='25'> " + (Cells(2, 20)) + "  </td> <td  width='25%' height='25'> " + Str(Cells(rowCount, 20)) + "</td> </tr>" + _   "<tr>  <td width='25%' height='25'> " + (Cells(2, 21)) + "  </td> <td  width='25%' height='25'> " + Str(Cells(rowCount, 21)) + "</td>   <td width='25%' height='25'> " + (Cells(2, 22)) + "  </td> <td  width='25%' height='25'> " + Str(Cells(rowCount, 22)) + "</td> </tr>" + _   "<tr>  <td width='25%' height='25'> " + (Cells(2, 23)) + "  </td> <td  colspan ='3' align='left' width='75%' height='25'> " + Str(Cells(rowCount, 23)) + "</td></tr> "

'设置附件(从通讯录表的“附件”字段中获得),没有附件的话可以删除此句

.Attachments.Add Cells(rowCount, 24).Value

'自动发送邮件

.Send

End With

'销毁objMail对象

Set objMail = Nothing

Next

'销毁objOutlook对象

Set objOutlook = Nothing

'所有电子邮件发送完成时提示

MsgBox rowCount - 3 & "个员工的工资单发送成功!"

End Sub

以上是VBA宏程序代码,根据每个人的模板条进行程序修改即可适用。

如需共同探讨提高,可以q 联系我 180 3.9322

使用Excel宏来群发邮件或工资条相关推荐

  1. Excel工资表通过宏的录制形成工资条形式

    内容:工资表通过宏的录制形成工资条形式,设置快捷键,添加按钮指定宏,并且改进宏. 一 打开Excel,先点击左侧 文件-选项-自定义功能区 ,从左侧的下来菜单中选择开发工具,把开发工具添加到右侧自定义 ...

  2. excel调用python编程-用Python如何开发Excel宏脚本?新手必学

    今天介绍一个叫 xlpython 的库,通过它我们可以用 Python 来开发 Excel 的宏脚本,真正实现在 Excel 中调用 Python. 基本环境 操作系统:Windows 10 x64 ...

  3. python控制excel宏复制,将列从一个excel复制到另一个excel并从python运行宏

    我正在尝试将合并文件中的所有列复制到摘要文件中,并从python运行excel宏,摘要文件有从a到BB的列,我只想复制到AI,我尝试了下面的代码,但它没有给我任何结果wbpath = 'C:\\Use ...

  4. Excel宏的自动运行设置

    如何设置宏的自动运行呢? 这里提供两种方式 在Excel打开的时候自动调用宏执行 通过脚本调用Excel中宏 本篇以 Excel宏的录制和解密 介绍的宏进行说明和演示. 宏自动运行的场景 自动运行宏的 ...

  5. [EXCEL] 宏的录制、调用和删除

    目录 什么是宏? 如何使用"宏"? 1.添加"开发工具"选项卡 2.录制宏 1)将选中的单元格停留在A1位置 2)点击"录制宏",设置宏名和 ...

  6. EXCEL之工资表转工资条

    很短的时间内几个朋友问同样一个问题: EXCEL之工资表转工资条 我最初的方法是在同一工作簿新建一个工作表,再这样:函数     ='1月工资'!A4 有个问题,在往往下拉的时间只有序号为1.3.5- ...

  7. 简单excel宏工具对数据进行脱敏

    简单excel宏工具对数据进行脱敏 宏代码 Sub aa()Dim col As StringDim maxrowDim stratpoint&, changdu&Set Rg = A ...

  8. 004.了解Excel宏

    大家好,我是永不止步的老牛. 上一篇我们介绍了VBA的过程和函数,本篇我们介绍Excel宏. Excel宏是一些VBA代码的集合,宏可以被执行,宏可以进行录制,保存下来方便多次执行,宏录制就是将我们在 ...

  9. python运行excel宏_从python运行excel宏

    我正在使用以下代码从Python运行Excel宏: import pymysql import datetime import csv import math import os import glo ...

最新文章

  1. (十)Centos之文件搜索命令find
  2. 【正一专栏】欧冠四强猜想—不是冤家不聚首
  3. dockerfile nginx配置
  4. ASP.NET Core 防止跨站请求伪造(XSRF\/CSRF)攻击
  5. Machine Learning from Start to Finish with Scikit-Learn
  6. phpstudy使用(80端口被system占用,无法关闭和删除)
  7. Hyper-v下安装第一台Windows Server 2012 R2
  8. [Aaronyang] 写给自己的WPF4.5 笔记17[Page实现页面导航]
  9. maven生成jar,提示没有“没有主清单属性
  10. java 开发常用工具下载
  11. Overfeat论文笔记
  12. 二、PHP基础学习之常用命令①
  13. 优矿量化如何完成Alpha对冲模型测试?
  14. 口碑营销:如何让传统行业的电商引发口碑效应并营销
  15. 【土旦】 使用Vant 的Uploader 上传图片 重定义返回格式 使用FormData格式提交
  16. amazon账号关联第一步你做好了吗?
  17. MySQL基础(三):视图、存储过程、事务与索引
  18. dso详解--dso原理
  19. 安卓和IOS系统下字体样式的不同
  20. 旧金山大学计算机科学,Arts and Sciences - Computer Science

热门文章

  1. mybatis-plus代码生成器生成
  2. windows在bat脚本中给系统添加.reg注册文件
  3. Android SDK HTTP Proxy Server
  4. 数据结构-二叉树[递归实现](构造,析构,先序遍历,中序遍历,后续遍历,层次遍历)
  5. mockcpp 介绍与使用示例
  6. 机器视觉halcon学习——找角点
  7. 如何撰写专利权利要求书?
  8. 从此无暴风,更无影音
  9. Linux下海峰五笔98版码表及安装说明自动调整词频
  10. django 3.0