巧用EXCEL群发邮件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

前一段时间由于需要给几百个用户发送初始化用户名和密码的邮件,每人的用户名和密码都不相同,不能通过群发邮件的方式。对于研发人员来说,写一个邮件发送工具并不是很困难,但是也需要一定的时间。

下面是我参照网上经验实际试过,效果不错,利用VBA简单编程,excel 配合outlook批量发送邮件,比较灵活,大家可以看看。

第一步:邮箱设置

配置好Microsoft outlook邮件客户端,确保能正常收发邮件,具体的本文不再详述;

第二步:建立Excel文档

1、为保证后面的“邮件群发”宏代码正确运行,需要执行“工具→宏→Visual Basic 编辑器”,将“工具→引用→Micr oseft Outlook*.0 Object Library(其中*为Microseft Outlook的版本号)选上”。

2、建立含不同邮件地址、主题、内容及附件的Excel文档,其中附件用插入超链接的方法完成。

第三步:编辑“邮件群发”宏

执行“工具→宏→Visual Basic编辑器”,单击“插入→模块”插入一个模块,在“工程”窗口中双击插入的模块,打开它的代码窗口,并在输入以下代码后关闭代码窗口。

代码示例

Sub sendmail()

'要能正确发送并需要对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 = 2 To endRowNo

'创建objMail为一个邮件对象

Set objMail = objOutlook.CreateItem(olMailItem)

With objMail

'设置收件人地址(比如从 Excel 表的第一列“E-mail地址”字段中获得) .To = Cells(rowCount, 1).Value '"fantasia@"

'设置邮件主题(比如从Excel 表的第二列“邮件主题”字段中获得)

.Subject = Cells(rowCount, 2).Value '"邮件主题"

'设置邮件内容(比如从Excel 表的第三列“邮件内容”字段中获得)

.Body = Cells(rowCount, 5).Value '"邮件内容"

'设置附件(比如从Excel 表的第四列“附件”字段中获得)

.Attachments.Add Cells(rowCount, 4).Value '"c:\\users.ctl"

.Send

End With

'销毁objMail对象

Set objMail = Nothing

Next

'销毁objOutlook对象

Set objOutlook = Nothing

End Sub

注意:Outlook的信任中心设置中编程访问安全设置项要选中“从不向我发出可疑活动警告”,否则每发送一封邮件,OUTLOOK都会提示并要求确认。

相关文档
最新文档