【求助】用宏批量发送邮件,如何定义邮件标题的颜色?(好难)

iam_buddy 2017-07-13 11:37:14
论坛各位大大帮帮忙,我这个宏该如何改才能让邮件标题支持彩色呢,或者支持html。
情况描述:平常都使用一个宏来帮助我群发邮件,后来慢慢学会在宏上修改达到可以让邮件内容也html化实现了彩色邮件,不过我不满于如此,希望邮件的标题也能通过自定义发送彩色字体。个人感觉有这个实现的可能,我使用的是腾讯企业邮箱同事互发是支持彩色标题的。
如图1:
图2是宏截图:
图3是excel界面:
最后是excel附件:(好像不支持上传附件)我放在百度网盘:http://pan.baidu.com/s/1bzc7H8
...全文
1569 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
笨狗先飞 2017-07-18
  • 打赏
  • 举报
回复
web版QQ邮箱好象没这功能,我把加颜色和不加颜色的邮件发到外面别的邮箱里,然后去查看邮件的原始代码
iam_buddy 2017-07-18
  • 打赏
  • 举报
回复
引用 21 楼 bakw 的回复:
分析了一下邮件原始文件,邮件头中有一项叫 X-QQ-STYLE 估计修改这一项的参数就可以调整颜色了。
你分析的是QQ邮箱吗,我这边是企业邮箱该怎么分析
笨狗先飞 2017-07-15
  • 打赏
  • 举报
回复
分析了一下邮件原始文件,邮件头中有一项叫 X-QQ-STYLE 估计修改这一项的参数就可以调整颜色了。
脆皮大雪糕 2017-07-15
  • 打赏
  • 举报
回复
引用 18 楼 iam_buddy 的回复:
[quote=引用 17 楼 chewinggum 的回复:] 呐,你把鼠标放在哪个选颜色的图标上一会儿,人家都告诉你了 QQ邮箱之间发送邮件才有用的东西,出了腾讯的地盘根本没用。outlook往邮件服务器发送的是标准的邮件,有专门的协议,不可能有这种专门针对腾讯邮箱的个性化东西的。所以你的目的是不可能在outlook的宏里实现的。 至于你去弄个什么网页外挂专门给你同事发邮件的时候给标题加颜色,另说。
同事都是用同款邮箱的,不过刚去文旅腾讯客服,客服表示不支持标题代码变色。。哎[/quote] 腾讯家自己玩的小把戏而已,其实职业需要的肯定都会用outlook之类的专业邮件工具,公司里只有那些觉得计算机一直很神秘的妹子们才会用web版的邮箱
舉杯邀明月 2017-07-14
  • 打赏
  • 举报
回复
iam_buddy 2017-07-14
  • 打赏
  • 举报
回复
引用 11 楼 Chen8013 的回复:
[quote=引用 10 楼 iam_buddy 的回复:] [quote=引用 7 楼 Chen8013 的回复:] [quote=引用 6 楼 iam_buddy 的回复:] . . . . . . . 有点听不懂了,,能不能再宏上该代码实现邮件标题也能支持html呢,因为原来body改了htmlbody就能支持了
你别说“原来”怎样怎样,关键是“现在”能怎样! htmlbody只代表“邮件正文”是不是? 是否有 “body”属性代表整个邮件文档的html内容? 如果有,那你就修改 body的html代码啊,   按 <span id="subject" ....找到“地方”,然后把代表“颜色”的代码增加上去啊。 反正我儿没法试,只有你自己试验。 [/quote] 我并没有学过这些it知识,。。所以跑到论坛来请教方法的。。看大家的回复估计是不能实现了。[/quote] 谁也不可能把所有的知道学完吧!!! 重要的是能够“触类旁通”、举一反三! 你提到了“body属性”,那它究竟是什么样的东西?能不能改? 你为何避而不答!就来个“不能实现”的结论………… 我不可能为了答复你这个问题,就特意的安装Outlook来试吧! 关键是MS的这些软件,垃圾特别多,巨恶心………… [/quote] 不知道你为啥这么激动。。。 那个body改为htmlbody就能支持代码了,我也试过把subject改为htmlsubject,后来发邮件连标题都消失了。。 触类旁通,举一反三我只能做到这么多了,360审查元素功能也是无意中发现的。。 对一个从没学习过it语言的新人没必要这么苛刻把。。。我只是来求助的。。 ps:我感觉这论坛板块就咱俩了
舉杯邀明月 2017-07-14
  • 打赏
  • 举报
回复
引用 10 楼 iam_buddy 的回复:
[quote=引用 7 楼 Chen8013 的回复:] [quote=引用 6 楼 iam_buddy 的回复:] . . . . . . . 有点听不懂了,,能不能再宏上该代码实现邮件标题也能支持html呢,因为原来body改了htmlbody就能支持了
你别说“原来”怎样怎样,关键是“现在”能怎样! htmlbody只代表“邮件正文”是不是? 是否有 “body”属性代表整个邮件文档的html内容? 如果有,那你就修改 body的html代码啊,   按 <span id="subject" ....找到“地方”,然后把代表“颜色”的代码增加上去啊。 反正我儿没法试,只有你自己试验。 [/quote] 我并没有学过这些it知识,。。所以跑到论坛来请教方法的。。看大家的回复估计是不能实现了。[/quote] 谁也不可能把所有的知道学完吧!!! 重要的是能够“触类旁通”、举一反三! 你提到了“body属性”,那它究竟是什么样的东西?能不能改? 你为何避而不答!就来个“不能实现”的结论………… 我不可能为了答复你这个问题,就特意的安装Outlook来试吧! 关键是MS的这些软件,垃圾特别多,巨恶心…………
iam_buddy 2017-07-14
  • 打赏
  • 举报
回复
引用 7 楼 Chen8013 的回复:
[quote=引用 6 楼 iam_buddy 的回复:] . . . . . . . 有点听不懂了,,能不能再宏上该代码实现邮件标题也能支持html呢,因为原来body改了htmlbody就能支持了
你别说“原来”怎样怎样,关键是“现在”能怎样! htmlbody只代表“邮件正文”是不是? 是否有 “body”属性代表整个邮件文档的html内容? 如果有,那你就修改 body的html代码啊,   按 <span id="subject" ....找到“地方”,然后把代表“颜色”的代码增加上去啊。 反正我儿没法试,只有你自己试验。 [/quote] 我并没有学过这些it知识,。。所以跑到论坛来请教方法的。。看大家的回复估计是不能实现了。
iam_buddy 2017-07-14
  • 打赏
  • 举报
回复
引用 8 楼 chewinggum 的回复:
先搞清楚,这个颜色是因为你们同事所以是橙色还是腾讯的邮件应用支持加颜色。我的理解,这个应该只是腾讯内部自己的功能。比如判断到邮件发送人是你的同事,于是就给标题加色。至于标准的邮件标题里面应该不允许你加html的,要不,这个对于其他邮箱其实是很危险的。比如在标题里加个恶意js?事情就玩大了


看我截图,标题颜色是我主动加的,右侧有调色的。

所以这么说,我想实现群发邮件的时候标题彩色是不太可能了吗?
iam_buddy 2017-07-14
  • 打赏
  • 举报
回复
引用 15 楼 Runnerchin 的回复:
也有变通的办法,用webbrowser实现,就看兼容性怎么样了。不过看你问题的描述,感觉如果你自己来写的话,够呛能写出来。
刚也问了QQ客服了,客服也表示不支持用代码改变标题颜色。。还是算了,别折腾了
iam_buddy 2017-07-14
  • 打赏
  • 举报
回复
引用 17 楼 chewinggum 的回复:
呐,你把鼠标放在哪个选颜色的图标上一会儿,人家都告诉你了 QQ邮箱之间发送邮件才有用的东西,出了腾讯的地盘根本没用。outlook往邮件服务器发送的是标准的邮件,有专门的协议,不可能有这种专门针对腾讯邮箱的个性化东西的。所以你的目的是不可能在outlook的宏里实现的。 至于你去弄个什么网页外挂专门给你同事发邮件的时候给标题加颜色,另说。
同事都是用同款邮箱的,不过刚去文旅腾讯客服,客服表示不支持标题代码变色。。哎
脆皮大雪糕 2017-07-14
  • 打赏
  • 举报
回复
呐,你把鼠标放在哪个选颜色的图标上一会儿,人家都告诉你了 QQ邮箱之间发送邮件才有用的东西,出了腾讯的地盘根本没用。outlook往邮件服务器发送的是标准的邮件,有专门的协议,不可能有这种专门针对腾讯邮箱的个性化东西的。所以你的目的是不可能在outlook的宏里实现的。
至于你去弄个什么网页外挂专门给你同事发邮件的时候给标题加颜色,另说。
脆皮大雪糕 2017-07-14
  • 打赏
  • 举报
回复
看截图明显是web邮箱自己的功能吧,要不你试试选个颜色发给163的邮箱有没有颜色。
X-i-n 2017-07-14
  • 打赏
  • 举报
回复
也有变通的办法,用webbrowser实现,就看兼容性怎么样了。不过看你问题的描述,感觉如果你自己来写的话,够呛能写出来。
X-i-n 2017-07-14
  • 打赏
  • 举报
回复
不用试了。标准的邮件协议不支持邮件主题颜色,只支持邮件重要级,彩色标题是邮件服务商自己的WEB后台实现的功能,哪怕换到客户端(除非他们自己有客户端)9成9也是不支持的。
iam_buddy 2017-07-13
  • 打赏
  • 举报
回复
大家看图1,我用360浏览器审查了邮件标题的元素。如图1,发现可以通过修改s11这个参数达到修改标题颜色的目的,s11改s12、s13、s14都会对应的变色。但是我把代码复制到标题发送并不能应用这个特性。。变成一堆代码发出来了,邮件内容我也是网上看到把body改为htmlbody就能实现编辑彩色邮件内容。。而邮件标题subject却不知如何改。 附上彩字那段代码:<span id="subject" class="sub_title s11">这是橙色</span>
iam_buddy 2017-07-13
  • 打赏
  • 举报
回复
这是我的代码
Sub 群发邮件()
On Error Resume Next
Dim rowCount, endRowNo
Dim objOutlook As New Outlook.Application
Dim objMail As MailItem
Dim arr, n
endRowNo = Cells(1, 1).CurrentRegion.Rows.Count
Set objOutlook = New Outlook.Application
For rowCount = 2 To endRowNo
Set objMail = objOutlook.CreateItem(olMailItem)
With objMail
.To = Cells(rowCount, 2).Value '邮件的地址
.Subject = Cells(rowCount, 3).Value '"邮件主题"
.HTMLBody = Cells(rowCount, 4).Value '"邮件内容"
.CC = Cells(rowCount, 6).Value '"抄送"
arr = Split(Cells(rowCount, 5).Value, ";")
For n = LBound(arr) To UBound(arr)
.Attachments.Add (arr(n)) '邮件的附件
Next
.Send
End With
Set objMail = Nothing
Next
Set objOutlook = Nothing
MsgBox "邮件已发送", vbInformation
End Sub

脆皮大雪糕 2017-07-13
  • 打赏
  • 举报
回复
先搞清楚,这个颜色是因为你们同事所以是橙色还是腾讯的邮件应用支持加颜色。我的理解,这个应该只是腾讯内部自己的功能。比如判断到邮件发送人是你的同事,于是就给标题加色。至于标准的邮件标题里面应该不允许你加html的,要不,这个对于其他邮箱其实是很危险的。比如在标题里加个恶意js?事情就玩大了
舉杯邀明月 2017-07-13
  • 打赏
  • 举报
回复
引用 6 楼 iam_buddy 的回复:
. . . . . . . 有点听不懂了,,能不能再宏上该代码实现邮件标题也能支持html呢,因为原来body改了htmlbody就能支持了
你别说“原来”怎样怎样,关键是“现在”能怎样! htmlbody只代表“邮件正文”是不是? 是否有 “body”属性代表整个邮件文档的html内容? 如果有,那你就修改 body的html代码啊,   按 <span id="subject" ....找到“地方”,然后把代表“颜色”的代码增加上去啊。 反正我儿没法试,只有你自己试验。
iam_buddy 2017-07-13
  • 打赏
  • 举报
回复
引用 5 楼 Chen8013 的回复:
[quote=引用 4 楼 iam_buddy 的回复:] [quote=引用 3 楼 Chen8013 的回复:] [quote=引用 2 楼 iam_buddy 的回复:] 大家看图1,我用360浏览器审查了邮件标题的元素。如图1,发现可以通过修改s11这个参数达到修改标题颜色的目的,s11改s12、s13、s14都会对应的变色。但是我把代码复制到标题发送并不能应用这个特性。。变成一堆代码发出来了,邮件内容我也是网上看到把body改为htmlbody就能实现编辑彩色邮件内容。。而邮件标题subject却不知如何改。 附上彩字那段代码:<span id="subject" class="sub_title s11">这是橙色</span>
你把一个别的颜色,看那个s11是不是变了…… 按理说,你修改“htmlbody”的内容,就相当于编辑邮件的HTML代码,邮件中的任何一部分内容,都可以任意改的啊。 [/quote] 不是啊,邮件内容是可以html的,但我这边指的是邮件的标题能否改动,之前试过了,代码加在标题上发出去,还是代码本身。。[/quote] 哦,是我理解错了。 原来objMail.HTMLBody只代表“邮件内容正文”那一部分; 而 objMail.Subject 只能操作“邮件主题”的本文部分,   无法直接操作到<span id="subject" class="sub_title s11">这一块地方。 而楼主要达到目的,必须要能修改刚才所说的<sapn . . . . >这部分的代码才行。 我这儿没安装Outlook,也没法试验,楼主还是查下资料,看在“发送”前有没有办法修改到那一块地方吧。 实在不行,可能只有从“底层”处理才能达到目的了: 用WinSock,按“邮件协议”创建与邮件服务器的连接、构造完整的邮件html代码,再发出去………… 反正够得搞………… [/quote] 有点听不懂了,,能不能再宏上该代码实现邮件标题也能支持html呢,因为原来body改了htmlbody就能支持了
加载更多回复(3)

2,462

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧