在Outlook中显示MailItem的用户定义属性

问题描述 投票:2回答:1

我试图在Outlook中向电子邮件添加备注时添加便利。

我的计划是采用我当前的程序,它将注释添加到所选的电子邮件(作为附件),并让它调用一个程序,它将在UserProperty对象上设置MailItem,以便我可以轻松查看哪些电子邮件附有注释将自定义列添加到我的电子邮件列表视图中。

从网上搜索,我拼凑了以下内容。

Option Explicit

Public Sub MarkHasNote()
    Dim Selection As Outlook.Selection
    Dim UserDefinedFieldName As String
    Dim objProperty As Outlook.UserProperty
    Dim objItem As MailItem

    UserDefinedFieldName = "Note"
    Set objItem = GetCurrentItem()
    Set objProperty = objItem.UserProperties.Add(UserDefinedFieldName, Outlook.OlUserPropertyType.olYesNo, olFormatYesNoIcon)
    objProperty.Value = True
End Sub

Function GetCurrentItem() As Object
    Dim objApp As Outlook.Application

    Set objApp = Application
    On Error Resume Next
    Select Case TypeName(objApp.ActiveWindow)
        Case "Explorer"
            Set GetCurrentItem = objApp.ActiveExplorer.Selection.Item(1)
        Case "Inspector"
            Set GetCurrentItem = objApp.ActiveInspector.CurrentItem
    End Select

    Set objApp = Nothing
End Function

我设置了断点并检查了UserPropertiesMailItem。我看到细节在那里,值设置为“True”。但是,电子邮件不会在Outlook的电子邮件窗格的“注释”列中显示“是/否”图标。

当我将列添加到视图时,如何让Outlook在电子邮件窗格中显示我的用户定义的属性值?

vba outlook outlook-vba
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.