2

我有一些向电子邮件添加标志的代码,但是当我尝试使用下面的代码将其删除时,它似乎在 Outlook 2007 中没有任何效果。

    Public Sub Clear()
        Dim objOutlook As Outlook.Application
        Dim objInspector As Outlook.Inspector

        Dim strDateTime As String

        ' Instantiate an Outlook Application object.
        Set objOutlook = CreateObject("Outlook.Application")

        ' The ActiveInspector is the currently open item.
        Set objExplorer = objOutlook.ActiveExplorer

        ' Check and see if anything is open.
        If Not objExplorer Is Nothing Then
            ' Get the current item.
            Dim arySelection As Object
            Set arySelection = objExplorer.Selection

            For x = 1 To arySelection.Count
                Dim m As MailItem
                Set m = arySelection.Item(x)
                m.Categories = ""
                m.FlagStatus = olNoFlag
                m.FlagIcon = 0
                m.Save
            Next x

        Else
            ' Show error message with only the OK button.
            MsgBox "No explorer is open", vbOKOnly
        End If

    End Sub
4

1 回答 1

3

Outlook 2007 不再支持 2003 样式标志(它将它们映射到任务标志和最合适的类别颜色)。

您尝试清除的标志可能是任务标志。在这种情况下,执行

m.ClearTaskFlag
m.Save

将完成这项工作。

于 2009-11-14T15:58:00.553 回答