在Outlook 2013收件箱中修改MailItem的背景颜色

时间:2015-06-10 12:42:36

标签: email outlook outlook-addin

有没有办法以编程方式修改电子邮件(MailItem实例)的Outlook收件箱列表中的背景颜色?我想创建一个加载项,允许我根据一些规则对我的电子邮件进行颜色编码。

我已经浏览了documentation中的MailItem属性,但无法找到任何与显示格式相关的内容。

1 个答案:

答案 0 :(得分:2)

MailItem类不提供任何内容。相反,您需要在Outlook中自定义视图。

您可以使用Folder或Explorer类的CurrentView属性来获取表示当前视图的View对象。要获取当前Explorer视图的View对象,请使用Explorer.CurrentView而不是Explorer.CurrentFolder返回的当前Folder对象的CurrentView属性。

View对象允许您创建可自定义的视图,以便您更好地对所有不同类型的数据进行排序,分组和最终查看。有多种不同的视图类型可提供创建和维护重要数据所需的灵活性。

  • 表视图类型(olTableView)允许您在简单的基于字段的表中查看数据。
  • 日历视图类型(olCalendarView)允许您以日历格式查看数据。
  • 卡片视图类型(olCardView)允许您查看一系列卡片中的数据。每张卡片都会显示该项目所包含的信息,并且可以进行分类。
  • 图标视图类型(olIconView)允许您将数据视为图标,类似于Windows文件夹或资源管理器。
  • 时间轴视图类型(olTimelineView)允许您在可自定义的线性时间线中查看数据。

使用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