在使用Outlook VBA进行邮件自动化处理时,邮件HTML正文的字体样式设置是常见需求,通过设置合适的字体可以让邮件内容更易读,也符合企业的邮件规范。无论是调整字体类型、大小还是颜色,都可以通过操作邮件的HTMLBody属性实现。

Outlook VBA操作邮件HTML正文的基础
Outlook中的邮件对象包含HTMLBody属性,该属性存储了邮件的HTML格式正文内容,我们可以直接修改这个属性的值来定义正文的样式。首先需要创建或者获取现有的邮件对象,再对其HTMLBody进行赋值操作。
创建新邮件并设置HTML正文样式
以下代码演示了创建一封新邮件,同时设置HTML正文的字体为微软雅黑、大小为14px、颜色为深灰色的完整流程:
Sub CreateMailWithStyledHTMLBody()
Dim olApp As Object
Dim olMail As Object
' 获取Outlook应用实例
Set olApp = CreateObject("Outlook.Application")
' 创建新邮件
Set olMail = olApp.CreateItem(0)
With olMail
.To = "test@ipipp.com"
.Subject = "测试HTML样式邮件"
' 设置HTML正文,包含字体样式定义
.HTMLBody = "<html><body>" & _
"<p style='font-family:微软雅黑;font-size:14px;color:#333333;'>" & _
"这是一段设置了字体样式的邮件正文内容,字体为微软雅黑,大小14像素,颜色为深灰色。" & _
"</p></body></html>"
' 显示邮件(可改为.Send直接发送)
.Display
End With
' 释放对象
Set olMail = Nothing
Set olApp = Nothing
End Sub
修改现有邮件的HTML正文样式
如果需要修改已经存在的邮件的HTML正文样式,可以先获取邮件对象,再拼接新的样式内容到原有HTMLBody中。以下代码演示了给现有选中邮件的HTML正文添加字体样式:
Sub UpdateSelectedMailHTMLStyle()
Dim olApp As Object
Dim olExplorer As Object
Dim olSelection As Object
Dim olMail As Object
Set olApp = CreateObject("Outlook.Application")
Set olExplorer = olApp.ActiveExplorer
Set olSelection = olExplorer.Selection
' 检查是否选中了邮件
If olSelection.Count = 0 Then
MsgBox "请先选中一封邮件"
Exit Sub
End If
' 获取选中的第一封邮件
Set olMail = olSelection.Item(1)
' 给原有HTML正文包裹样式标签,设置字体
If InStr(1, olMail.HTMLBody, "<body>") > 0 Then
olMail.HTMLBody = Replace(olMail.HTMLBody, "<body>", "<body><div style='font-family:宋体;font-size:12px;color:#000000;'>")
olMail.HTMLBody = Replace(olMail.HTMLBody, "</body>", "</div></body>")
Else
' 如果没有body标签,直接包裹整个内容
olMail.HTMLBody = "<div style='font-family:宋体;font-size:12px;color:#000000;'>" & olMail.HTMLBody & "</div>"
End If
MsgBox "邮件HTML样式已更新"
Set olMail = Nothing
Set olSelection = Nothing
Set olExplorer = Nothing
Set olApp = Nothing
End Sub
常见字体样式设置参数说明
在HTML的style属性中,可以设置多种字体相关参数,以下是常用的参数说明:
- font-family:设置字体类型,如微软雅黑、宋体、Arial等,多个字体用逗号分隔,浏览器会按顺序优先使用存在的字体
- font-size:设置字体大小,单位可以是px(像素)、pt(磅)、em(相对单位)等
- color:设置字体颜色,支持十六进制颜色值(如#FF0000)、RGB值(如rgb(255,0,0))或者颜色名称(如red)
- font-weight:设置字体粗细,可选值为normal、bold、数字(如700)
- font-style:设置字体样式,可选值为normal、italic(斜体)
注意事项
在设置Outlook VBA邮件HTML正文样式时,需要注意以下几点:
1. Outlook对HTML的支持有一定限制,部分复杂的CSS样式可能无法正常显示,建议尽量使用基础的样式属性
2. 修改HTMLBody属性时,要确保HTML标签的闭合正确,避免出现语法错误导致样式不生效
3. 如果邮件同时包含HTMLBody和Body属性,Outlook会优先显示HTMLBody的内容,所以设置HTML样式时只需要操作HTMLBody即可
通过以上方法,就可以灵活地使用Outlook VBA设置邮件HTML正文的字体样式,满足不同场景下的邮件格式需求。
Outlook_VBAHTML正文字体样式邮件自动化修改时间:2026-06-13 16:12:16