In Outlook2010, is there a way to view the currently snoozing reminders?

Sub SnoozedReminders()

' http://www.jpsoftwaretech.com/check-your-outlook-reminders-in-vba/

Dim MyReminder As Outlook.Reminder
Dim MyReminders As Outlook.Reminders
Dim Report As String
Dim i As Long

Set MyReminders = Outlook.Reminders

i = 0

For Each MyReminder In MyReminders

    If HasReminderFired(MyReminder) = True Then
        i = i + 1
        Report = Report & i & ": " & MyReminder.Caption & vbCr & _
            "     Snoozed to " & MyReminder.NextReminderDate & vbCr & vbCr
    End If

Next MyReminder

CreateReportAsEmail "Snoozed Items", Report

End Sub


Function HasReminderFired(rmndr As Outlook.Reminder) As Boolean
    HasReminderFired = (rmndr.OriginalReminderDate <> rmndr.NextReminderDate)
End Function


' VBA SubRoutine which displays a report inside an email
' Programming by Greg Thatcher, http://www.GregThatcher.com

Public Sub CreateReportAsEmail(Title As String, Report As String)

    On Error GoTo On_Error

    Dim Session As Outlook.Namespace
    Dim mail As MailItem
    Dim MyAddress As AddressEntry
    Dim Inbox As Outlook.folder 

    Set Session = Application.Session
    Set Inbox = Session.GetDefaultFolder(olFolderInbox)
    Set mail = Inbox.items.Add("IPM.Mail")

    mail.Subject = Title
    mail.Body = Report

    mail.Save
    mail.Display

Exiting:
    Set Session = Nothing
    Set Inbox = Nothing
    Set mail = Nothing
    Exit Sub

On_Error:
    MsgBox "error=" & Err.Number & " " & Err.Description
    Resume Exiting

End Sub

If you are unfamiliar with VBA see Slipstick's explanation page. You will find information about:

  • macro security settings;
  • where to put the code (You can use a regular module with Insert | Module); and
  • how to create a button.