I'm aware that Outlook provides a setting (File\Options\Advanced-Reminders: Show reminders on top of other windows), but in a multi-screen setup the reminder will just pop-up where it was last positioned, which may not be on the screen you're currently looking at. I've written a short Application_Reminder vba macro that finds the current foreground window and repositions the Reminder(s) window on top of that, so it's in your face.

I've also included a SetWindowPos API call to set the always on top flag (SetWindowsPos(-1, 0, 0 3)). This seems to work at first, as the Reminder(s) form will pop-up on top of the window I'm working in. However, it doesn't stay on top. I have successfully used the same technique in an Excel application for some years. When the Reminder(s) window first pops up I am able to move the previous foreground window around by dragging its title bar, while the Reminder(s) stays on top. I cannot move any other window in the same way without the Reminder(s) window disappearing behind that window. Also, as soon as I click inside any other application window, including the previous foreground window, the Reminder(s) window disappears behind that window, seeming to forget the always on top setting. Similarly, if I click in the Reminder(s) window and then choose any other window, the Reminder(s) window goes behind the selected window.

The SetWindowPos API call is returning 0, no error.

It's as if Outlook is resetting the always on top for the Reminder(s) form window. It could also be related to the Reminder(s) window being a child of the main Outlook window, but I just don't know. I know the SetWindowsPos method works because I use it extensively in my Excel macros to keep various userforms always on top so they're always in front of the user until they action the form. I only need to set it once and if I fire off a secondary form from the primary userform, both with always on top set, the secondary form appears on top of the primary and the primary resumes its always on top status once the secondary form has been closed. So I confident that my method is working, just not with Outlook reminders for some reason.

Does anyone know an effective way to set the Reminder(s) window to always on top so that it stays on top of every other window regardless of which window has been selected until it is closed. Ideally, I'd like to see the Reminder(s) window follow the user's window selections. I believe the Application_Reminder event may re-trigger until all the reminders are responded to (snoozed or dismissed). So, given that my code identifies the current foreground window and repositions the Reminder(s) window on top of that, it should follow the user until they respond. However, at the moment, Outlook isn't leaving the Reminder(s) window as topmost and empirically seems to be resetting that flag when I click away from the Reminder(s) window. Empirically I've found that reminders retrigger - first at the initial notification, then 5 minutes before the meeting and then when the meeting is due. I've included an olRemind_BeforeReminderShow that contains the same code as Application_Reminders. I'm assuming that is the code the executes on a re-trigger if the initial Reminder(s) window is ignored, but not closed. I am a lot in the dark about what events trigger, when and how often, though, but my current code places the reminder window over the current window whenever it initially triggers and/or retriggers. I've been unable to find out exactly what events trigger, when and if they subsequently periodically retrigger so I can put the reminder(s) window in front of the user.

Many Thanks