直接用通讯录Excel群发电子邮件

01-28

笔者都是使用记有好友Email地址的Excel文件自动给亲友发送电子邮件,这种方法不仅方便快捷,而且这些邮件的收件人、主题、内容、附件都不相同。

一、建立亲友通讯录

在工作表中建立一个包含不同收件人、主题、内容和附件的亲友通讯录。

二、使用宏实现自动发送电子邮件

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

Sub 全自动发送邮件()

"要能正确发送并需要对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

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

.To = Cells(rowCount, 2)

"设置邮件主题

.Subject ="新年好![来自朋友弗人的问候] "

"设置邮件内容(从通讯录表的“内容”字段中获得)

.Body = Cells(rowCount, 3)

"设置附件(从通讯录表的“附件”字段中获得)

.Attachments.Add Cells(rowCount, 4)

"自动发送邮件

.Send

End With

"销毁objMail对象

Set objMail = Nothing

Next

"销毁objOutlook对象

Set objOutlook = Nothing

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

MsgBox rowCount-1 && "个朋友的问候信发送成功!"

End Sub

以上代码在Excel 2000中执行通过,并且对“通讯录”和“全自动发送邮件”宏代码稍作修改就可以完成任何形式的大量邮件的发送。