【问题标题】:Modify background color of MailItem in Outlook 2013 Inbox修改 Outlook 2013 收件箱中 MailItem 的背景颜色
【发布时间】:2015-08-25 17:26:43
【问题描述】:

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

我查看了 documentation 中的 MailItem 属性,但找不到任何与显示格式相关的内容。

【问题讨论】:

    标签: email outlook outlook-addin


    【解决方案1】:

    MailItem 类没有为此提供任何东西。相反,您需要在 Outlook 中自定义视图。

    您可以使用文件夹或资源管理器类的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
    

    【讨论】:

    • 感谢@Eugene,我查看了规则和tableViews 的文档,但现在看来我只能设置字体颜色,而不是“消息行”背景颜色。 . :(
    • 但是当用户关闭outlook并再次打开时,上面的代码未能设置主题。打开后,它会突出显示收件箱的所有电子邮件。我刚刚签入了 C#
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-03
    • 1970-01-01
    • 2012-04-30
    • 1970-01-01
    • 2012-12-14
    • 2021-09-22
    相关资源
    最近更新 更多