+ -
当前位置:首页 → 问答吧 → excel+outlook 自动群发邮件,如何能发送有格式文本呢?

excel+outlook 自动群发邮件,如何能发送有格式文本呢?

时间:2010-03-05

来源:互联网

使用excel的宏,来自动群发邮件,可以实现。
不过问题是,我要发送的文本是word里面带格式的文本,这个应该怎么办呢?
'使用 Outlook 来发送邮件了


Sub SendEmailByOutlook()

    '要能正确发送并需要对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
   
    Dim a As Object, b As Object
   
    Set a = CreateObject("word.application")
    Set b = a.Documents.Open("e:\shashade.doc")

    '开始循环发送电子邮件,比如从第二行开始,第一行是标题
    For rowCount = 2 To endRowNo
      
        '创建objMail为一个邮件对象
        Set objMail = objOutlook.CreateItem(olMailItem)
        With objMail
              
            '设置收件人地址(比如从 Excel 表的第一列“E-mail地址”字段中获得)
            .To = Cells(rowCount, 1).Value '"[email protected]"
                  
            '设置邮件主题(比如从 Excel 表的第二列“邮件主题”字段中获得)
            .Subject = Cells(rowCount, 2).Value '"邮件主题"

            '设置邮件内容(比如从 Excel 表的第三列“邮件内容”字段中获得)
            '.Body = Cells(rowCount, 3).Value '"邮件内容"
            .Body = b.Select '"邮件内容"
      
            '设置附件(比如从 Excel 表的第四列“附件”字段中获得)
            .Attachments.Add Cells(rowCount, 4).Value '"c:\bbb.txt"
                  
            .Send
  
         End With
              
         '销毁objMail对象
         Set objMail = Nothing
  
     Next
      
     '销毁objOutlook对象
     Set objOutlook = Nothing
     
     b.Close
     a.Quit


End Sub

作者: forwarddl   发布时间: 2010-03-05

那估计代码要加不少。

没做过这方面研究。

作者: lgcmeli   发布时间: 2010-03-05

还不知道可以通过Outlooklai发邮件呢;
继续学习!

作者: lxbinternet   发布时间: 2010-03-05

有人会吗,我也想学习

作者: bone_machine   发布时间: 2011-08-12

热门下载

更多