【问题标题】:Outlook VBA macro to dismiss all overdue calendar remindersOutlook VBA 宏可关闭所有逾期日历提醒
【发布时间】:2018-08-29 12:09:09
【问题描述】:

以下 VBA 代码可消除 Outlook 中的所有过期提醒:

Public Sub Dismiss_Only_Overdue_Calendar_Reminders()

    Dim objRem As Reminder

    For Each objRem In Application.Reminders
        If objRem.IsVisible = True Then
            objRem.Dismiss
        End If
    Next

End Sub

如何修改它以便只取消过期的日历约会

我的假设是要么有一个方法可以返回提醒的类型 (olAppointment),要么我可以获取提醒所引用的对象并检查其类。然而,在这两种情况下,我都很难找到任何东西。

我希望由任务和电子邮件触发的提醒保持不变。

【问题讨论】:

    标签: vba outlook calendar


    【解决方案1】:

    似乎没有通过 Parent 进行连接。

    您可以设置一个类别或在主题上附加一些内容。

    Public Sub Dismiss_Only_Overdue_Calendar_Reminders()
    
        Dim objRem As Reminder
    
        For Each objRem In Application.Reminders
            If objRem.IsVisible = True Then
                Debug.Print objRem.Caption
                Debug.Print objRem.Parent.Class
                'Debug.Print objRem.Parent.name
                Debug.Print objRem.Parent.Parent.Class
                Debug.Print objRem.Parent.Parent.name
    
                ' Manually or automatically enter a unique string in subject
                If InStr(objRem.Caption, "Cal: ") Then
                    objRem.Dismiss
                End If
            End If
        Next
    
    End Sub
    

    https://msdn.microsoft.com/en-us/vba/outlook-vba/articles/olobjectclass-enumeration-outlook

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多