【发布时间】:2015-08-25 17:26:43
【问题描述】:
有没有办法以编程方式修改 Outlook 收件箱列表中的电子邮件(MailItem 实例)中的背景颜色?我想创建一个插件,允许我根据一些规则对我的电子邮件进行颜色编码。
我查看了 documentation 中的 MailItem 属性,但找不到任何与显示格式相关的内容。
【问题讨论】:
标签: email outlook outlook-addin
有没有办法以编程方式修改 Outlook 收件箱列表中的电子邮件(MailItem 实例)中的背景颜色?我想创建一个插件,允许我根据一些规则对我的电子邮件进行颜色编码。
我查看了 documentation 中的 MailItem 属性,但找不到任何与显示格式相关的内容。
【问题讨论】:
标签: email outlook outlook-addin
MailItem 类没有为此提供任何东西。相反,您需要在 Outlook 中自定义视图。
您可以使用文件夹或资源管理器类的CurrentView 属性来获取代表当前视图的View 对象。要获取当前 Explorer 的视图的 View 对象,请使用 Explorer.CurrentView 而不是 Explorer.CurrentFolder 返回的当前 Folder 对象的 CurrentView 属性。
View 对象允许您创建可自定义的视图,以便您更好地排序、分组并最终查看所有不同类型的数据。有多种不同的视图类型可提供创建和维护重要数据所需的灵活性。
使用 View 对象的 XML 属性定义和自定义视图。 XML 属性允许您创建和设置自定义 XML 模式,该模式定义视图的各种功能。
Private Sub FormatHandoffMessages()
Dim objView As TableView
Dim objRule As AutoFormatRule
' Check if the current view is a table view.
If Application.ActiveExplorer.CurrentView.ViewType = olTableView Then
' Obtain a TableView object reference to the current view.
Set objView = Application.ActiveExplorer.CurrentView
' Create a new rule that displays any message with a
' subject line that starts with "HANDOFF" in
' blue, bold, 8 point Courier New text.
Set objRule = objView.AutoFormatRules.Add("Handoff Messages")
With objRule
.Filter = """http://schemas.microsoft.com/mapi/proptag/0x0037001f""" & _
" CI_STARTSWITH 'HANDOFF'"
With .Font
.Name = "Courier New"
.Size = "8"
.Bold = True
.Color = olColorBlue
End With
End With
' Save and apply the table view.
objView.Save
objView.Apply
End If
End Sub
【讨论】: