ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 327|回复: 5

群发邮件

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-5-12 11:41 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
  1. Sub 批量发送邮件()

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

  3.     On Error Resume Next

  4.     Dim rowCount, endRowNo

  5.     '要正常运行下面这句,要将工具/引用中的Microseft Outlook *.0 Object Library(其中*为你Microseft Outlook的版本号)选上

  6.     Dim objOutlook As New Outlook.Application

  7.     Dim objMail As MailItem

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

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

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

  11.     Set objOutlook = New Outlook.Application

  12.     '开始循环发送电子邮件

  13.     For rowCount = 2 To endRowNo

  14.         '创建objMail为一个邮件对象

  15.         Set objMail = objOutlook.CreateItem(olMailItem)

  16.         With objMail

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

  18.             .To = Cells(rowCount, 1)
  19.             
  20.              '设置邮件抄送人
  21.             
  22.             .CC = Cells(rowCount, 2)

  23.             '设置邮件主题

  24.             .Subject = Cells(rowCount, 3)

  25.             '设置邮件内容(从通讯录表的'内容'字段中获得)

  26.             .Body = Cells(rowCount, 4)
  27.             
  28.             '设置重要性为高
  29.             
  30.              .Importance = 2

  31.             '设置附件(从通讯录表的'附件'字段中获得)(第5列为docx表格附件)
  32.             
  33.             .Attachments.Add "E:\Users\admin\Desktop\测试邮件批量发送" & Cells(rowCount, 5) & ".docx"
  34.             
  35.             '设置附件(从通讯录表的'附件'字段中获得)(第6列为doc表格附件)

  36.             .Attachments.Add "E:\Users\admin\Desktop\测试邮件批量发送" & Cells(rowCount, 6) & ".doc"
  37.             
  38.              '设置附件(从通讯录表的'附件'字段中获得)(第7列为xlsx表格附件)

  39.             .Attachments.Add "E:\Users\admin\Desktop\测试邮件批量发送" & Cells(rowCount, 7) & ".xlsx"
  40.             
  41.              '设置附件(从通讯录表的'附件'字段中获得)(第8列为xls表格附件)

  42.             .Attachments.Add "E:\Users\admin\Desktop\测试邮件批量发送" & Cells(rowCount, 8) & ".xls"
  43.             '自动发送邮件

  44.             .Send

  45.         End With

  46.         '销毁objMail对象

  47.         Set objMail = Nothing

  48.     Next


  49.     '销毁objOutlook对象
  50.     Set objOutlook = Nothing
  51.     '所有电子邮件发送完成时提示
  52.     MsgBox rowCount - 2 & "封邮件发送成功!"
  53.     '
  54.     If Application.Workbooks.Count = 1 Then
  55.         Application.Quit
  56.     Else
  57.         Workbooks("自动发送邮件.xls").Close
  58.     End If
  59.     '
  60. End Sub
复制代码
各位大神,这个代码Excel发完邮件,就自动关闭了,是什么原因?还有发送附件的那里的代码能给改成啥格式的都行么?因为如果格式不一样,每次还得再改,有点麻烦。

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-15 13:49 | 显示全部楼层

求助:群发不同附件的代码

哪位大神,帮我改下这个代码吧

TA的精华主题

TA的得分主题

发表于 2023-5-15 19:56 来自手机 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-16 09:14 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
简七 发表于 2023-5-15 19:56
86-90行的代码删了

那个文件格式怎么命名所有文件格式呀

TA的精华主题

TA的得分主题

发表于 2023-5-16 14:49 | 显示全部楼层
这个代码是可以运行的 , 想发送邮件参考跟我来!  一步一步教你批量发送邮件 https://club.excelhome.net/thread-1158003-1-1.html (出处: ExcelHome技术论坛) 这个帖子

TA的精华主题

TA的得分主题

发表于 2023-5-17 15:53 | 显示全部楼层
MáοMáο゛趙 发表于 2023-5-16 09:14
那个文件格式怎么命名所有文件格式呀

2023-05-17 15_51_20_181 0001f.png .Attachments.Add这句循环下
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-16 10:23 , Processed in 0.041601 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表