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
不过问题是,我要发送的文本是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
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28