• 巧用Excel来群发电子邮件
      2012-02-03

    一年之计在于春,在这春风拂面的季节里,笔者总要通过E-mail为亲友送去一份祝福。以往笔者都是使用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中执行通过,并且对“通讯录”和“全自动发送邮件”宏代码稍作修改就可以完成任何形式的大量邮件的发送。