none
Can I write a VB script so that snoozing a task automatically updates its reminder time? RRS feed

  • Question

  • Hello.  Is it possible to create a VB script such that snoozing a task in the reminders window would automatically sets the task's reminder day and time to that new time?  If so, how might I approach that?  Maybe a script that sets the reminder time to the snooze time, then have that script run every time Outlook is opened?  Or better, every time a task is snoozed?

    I'm very new to VB and its power, so recently I have been toying with ideas on how it can make many of my everyday tasks easier.  I posted this question in the TechCenter forums, at Microsoft Office --> Outlook IT Pro Discussions.  They said I could not do this with built-in features, and pointed me here.

    Thanks in advance.

    Monday, August 15, 2016 1:20 PM

Answers

  • Hi cagross,

    You could use VB.net or VBA. With VBA, you could implement in Outlook product, with vb.net, I think you will need to create Outlook VSTO solution. Both of them use the similar Outlook Object.

    You could change TaskItem.ReminderTime Property (Outlook) while Application.Reminder Event (Outlook) fires.

    >> If so, I'd need to address this (later of course.)

    For this requirement, you could check the TaskItem.ReminderTime value in Application.Reminder Event, and decide which value set for TaskItem.

    Best Regards,

    Edward


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.


    Wednesday, August 17, 2016 8:45 AM

All replies

  • Hi cagross,

    >>Is it possible to create a VB script such that snoozing a task in the reminders window would automatically sets the task's reminder day and time to that new time?

    Do you want to achieve in VBS or VB.NET? For your requirement, you could create a method to call Reminder.Snooze Method (Outlook) which delays the reminder by a specified time, and then call this code depends on your requirement. If you want to run this code in a schedule time, you could refer Outlook VBA - Run a code every half an hour.

    Best Regards,

    Edward


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.


    Tuesday, August 16, 2016 2:05 AM
  • Thanks for the reply.

    >> Do you want to achieve in VBS or VB.NET?

    I don't know :-/  I don't now the difference.  Currently, my only VB experience is with Excel 2013.

    I will try to illustrate my requirement better.  In my reminders window, I frequently use the snooze feature to temporarily remove a task from the reminders window for a specified amount of time.  Here is a screenshot of it set to three days:

    Clicking snooze will remove that task from the reminders window and have it re-appear there (with an audible alert) after three days.  This is how Outlook functions by default.  But clicking snooze here does not change the tasks actual "Reminder Time," (screenshot below) even though that is what you are essentially doing.  

    I would like a VB solution that does this whenever I snooze a task.  i.e. whenever I snooze a task, the script would add the snooze duration to the current day and time, then set the resultant day and time as the task's Reminder day and time.  

    I will illustrate with the example in the screenshots.  The original reminder for that task was 6 pm August 15.  At 6pm on August 15, this task appeared in the Reminders windows with an audible notification, as expected.  I left it in the Reminders window for 5 days without touching it.  Then at 10 am on August 20, I Snoozed the task for 3 days.  After I click 'Snooze,' the VB script should set the task's Reminder day to August 23 (three days after the current day) and the Reminder time to 10 am, then save the task.  I hope that makes sense.


    Now that I write this out, this might create an issue where two identical notifications occur.  For the task in the example, when 10 am August 23 comes, the task in-question might appear twice in the Reminders window--one from the Snooze and another from the Reminder day/time.  If so, I'd need to address this (later of course.)

    Tuesday, August 16, 2016 3:05 AM
  • Hi cagross,

    You could use VB.net or VBA. With VBA, you could implement in Outlook product, with vb.net, I think you will need to create Outlook VSTO solution. Both of them use the similar Outlook Object.

    You could change TaskItem.ReminderTime Property (Outlook) while Application.Reminder Event (Outlook) fires.

    >> If so, I'd need to address this (later of course.)

    For this requirement, you could check the TaskItem.ReminderTime value in Application.Reminder Event, and decide which value set for TaskItem.

    Best Regards,

    Edward


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.


    Wednesday, August 17, 2016 8:45 AM
  • Thanks for this.  From the sound of it, it *is* possible.  It will take a while, but I will try to test it out.  
    Wednesday, August 24, 2016 8:43 AM