如何设置Outlook会议请求中指定Excel单元格内容的字体格式
修改后的VBA脚本(实现指定内容加粗红色显示)
要让会议正文中的Sheet1.Range("B" & 25)内容显示为加粗红色,需将Outlook会议正文从纯文本模式切换为HTML模式,通过HTML标签设置样式。以下是修改后的完整代码:
Sub SendMeeting() Dim objOL 'As Outlook.Application Dim objAppt 'As Outlook.AppointmentItem Dim rw As Long Const olAppointmentItem = 1 Const olMeeting = 1 Set objOL = CreateObject("Outlook.Application") Set objAppt = objOL.CreateItem(olAppointmentItem) With objAppt .Subject = Sheet1.Range("F" & 2) .Start = Sheet1.Range("C" & 2) .End = Sheet1.Range("D" & 2) ' 标记为会议请求 .Location = Sheet1.Range("E" & 2) .MeetingStatus = olMeeting .RequiredAttendees = Sheet1.Range("B" & 2) ' 改用HTMLBody实现富文本样式 .HTMLBody = Sheet1.Range("J" & 2) & "<br><br>" & _ "<b><span style='color:red;'>" & Sheet1.Range("B" & 25) & "</span></b>" & "<br><br>" & _ Sheet1.Range("H" & 2) & "<br><br>" .Attachments.Add Range("I2").Value .Categories = "Green Category" .Display .ReminderSet = True .ReminderMinutesBeforeStart = (Sheet1.Range("G" & 2) * 15) End With Set objAppt = Nothing Set objOL = Nothing End Sub
关键修改说明:
- 将原代码的
.Body属性替换为.HTMLBody,Outlook支持通过HTML格式渲染正文的富文本样式 - 把纯文本换行符
vbNewLine替换为HTML标准换行标签<br> - 用
<b>标签实现加粗效果,<span style='color:red;'>标签设置红色字体,将目标单元格内容包裹在这两个标签内 - 修正了原代码中属性名的大小写(
.reminderset改为.ReminderSet,.reminderminutesbeforestart改为.ReminderMinutesBeforeStart,符合VBA属性的规范写法)
内容的提问来源于stack exchange,提问作者Jaya NagaRaja Thogata
相关产品推荐
相关产品推荐

