Make Outlook Calendar Reminders Stay on Top in Windows 7

calendarmicrosoft-outlookpopupsreminderwindows

I'm just starting to use Windows 7 and I want to know how to make my Outlook reminders pop up and show themselves prominently. They keep opening discreetly, as just another window in the Outlook stack on the taskbar. As a result, I keep overlooking them because they pop up behind everything else.

How do I make them less easy to overlook?

(Clearly, one usually doesn't want obnoxious apps that push themselves to the forefront. But there are a few places where such behavior is desirable, and Outlook calendar reminders are one of them.)

Best Answer

I had the same problem with Outlook 2010. Use the steps mentioned below, it works like a charm. Don't forget to enable all macros: Trust Center > Macro Settings.

  • Create a Digital certificate for later: Hit Start and type 'certificate', select 'Digital Certificate for VBA Projects'
  • Enter a name for your certificate. Click OK. Open Outlook and hit Alt + F11 to start the VBA editor.
  • In the tree on the left, expand 'Microsoft Office Outlook Objects' and double click on 'ThisOutlookSession'
  • Paste in this code:

    Private Declare PtrSafe Function FindWindowA Lib "user32" _
    (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    
    Private Declare PtrSafe Function SetWindowPos Lib "user32" ( _
    ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _
    ByVal X As Long, ByVal Y As Long, ByVal cx As Long, _
    ByVal cy As Long, ByVal wFlags As Long) As Long
    
    Private Const SWP_NOSIZE = &H1
    Private Const SWP_NOMOVE = &H2
    Private Const FLAGS As Long = SWP_NOMOVE Or SWP_NOSIZE
    Private Const HWND_TOPMOST = -1
    
    Private Sub Application_Reminder(ByVal Item As Object)
    Dim ReminderWindowHWnd As Variant
    On Error Resume Next
    ReminderWindowHWnd = FindWindowA(vbNullString, "1 Reminder")
    SetWindowPos ReminderWindowHWnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS
    
    End Sub
    
  • Sign the Macro so it will run: Tools > Digital Signature... and choose the certificate you created earlier

  • Close the VBA window
  • Enable all macros in File > Options > Trust Center > Trust Center Settings > Macro Settings
Related Question