You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel VBA生成HTML邮件时,无法将“Site”设为红色且标签显示为字符串

解决VBA邮件中HTML标签不生效、无法设置字体颜色的问题
  • 问题核心:你添加HTML标签后显示成纯字符串,是因为邮件默认使用纯文本格式,未启用HTML渲染。必须将邮件对象的格式切换为HTML,同时用HTMLBody属性替代Body属性传递内容。
  • 具体修改方案:
    1. 给邮件对象添加格式设置:objMail.BodyFormat = olFormatHTML(针对Outlook的MailItem对象)
    2. 重构内容拼接逻辑,用HTML换行标签<br>替换vbCrLf,给“Site”套上红色字体的HTML标签
    3. 将拼接好的HTML内容赋值给objMail.HTMLBody,而非原有的Body属性

修改后的代码片段示例:

For Each emailAdress In emailInformation
    Set colLines = emailInformation(emailAdress)
    sBodyInfo = ""
    For Each line In colLines
        sBodyInfo = sBodyInfo & _
                      "Appareil : " & line.appareil & "<br>" & _
                      "<span style=""color:red;"">Site</span> : " & line.site & "<br>" & _
    Next line
    ' 假设objMail是你的Outlook邮件实例
    Set objMail = Outlook.CreateItem(olMailItem)
    objMail.BodyFormat = olFormatHTML ' 关键:开启HTML格式
    objMail.HTMLBody = sBodyInfo ' 用HTMLBody传递内容
    ' 补充邮件其他设置
    objMail.To = emailAdress
    objMail.Subject = "你的邮件主题"
    objMail.Display ' 或objMail.Send直接发送
Next emailAdress
  • 注意事项:
    • VBA中字符串内的双引号需要转义,所以HTML样式里的引号要写成""
    • 原有纯文本格式的内容需全部转换为HTML兼容格式,比如段落可用<p>标签包裹
    • 若在Excel等非Outlook软件中编写VBA,需提前引用Outlook对象库

内容的提问来源于stack exchange,提问作者Jena Alissa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 23:31:12