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

Outlook通过Excel VBA生成邮件:字体大小失效及vbTab无效问题求助

问题解决:Outlook邮件HTML正文字体大小与缩进问题

一、字体大小显示异常的修复

你遇到的字体大小偏差,是因为HTML里<font>标签的size属性是相对单位(对应1-7级,默认基准是3对应12pt),并非直接对应磅值。要设置精确的字体大小,直接用CSS的font-size属性指定绝对磅值即可,同时修正原代码里<font>标签的语法错误(font color写法不符合规范)。

二、制表符无法生效的修复

因为你用的是HTMLBody,纯文本的vbTab和vbCrLf在HTML里不会被解析成制表符和换行,需要换成HTML专属的格式标签:

  • 换行用<br>替代vbCrLf
  • 开头缩进可以用多个&nbsp;(非换行空格),或者用CSS样式设置左外边距

修改后的完整代码

Sub Send_Email()
    Dim objOutlookApp As New Outlook.Application
    Dim myEmail As Outlook.MailItem
    Set myEmail = objOutlookApp.CreateItem(olMailItem)
    myEmail.BodyFormat = olFormatHTML

    myEmail.Display

    Dim Strbody As String
    ' 用<br>换行,&nbsp;实现缩进,style指定精确字体大小
    Strbody = "<h5>Dears,</h5>" & "<br>" & _
              "&nbsp;&nbsp;&nbsp;&nbsp;<span style='font-family:Times New Roman; font-size:12pt; color:Brown;'>This a test string</span>"

    myEmail.HTMLBody = Strbody & myEmail.HTMLBody
End Sub

额外说明

  • 如果需要更大的缩进,可以增加&nbsp;的数量,或者把<span>换成<p>标签,用style="margin-left:2em;"来设置更灵活的缩进
  • 字体大小可以根据需求调整,比如10pt、14pt等,都是精确的磅值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 13:18:27