0

I am currently using a view filter to "snooze" email -- which means the email is hidden from view when a followup flag is placed on it until the flag is set for followup on "today." This is the basic view filter setup in the advanced tab of view filter in Outlook:

Outlook view filter setup

I often have email I want to hide until it is actionable later in the day. Ideally, I would be able to use a nice UI (eg Gmail) such as this one:

Gmail Snooze Example

I have attempted to leverage the view-hide method to manage this by categorizing emails, running a rule to hide the email when categorized, then removing the categorization at a particular time, but I couldn't find a nice way to 1-run a rule on categorization that already exists (1- is outline in the comments), and 2-run a rule on the whole folder at a particular time (2-is now outlined below).

The other approach I tried was to move emails to a particular folder (ie, snooze until 2 PM, snooze until 4 pm, etc) and then have them move back to inbox at a particular time via a rule or a script. Unfortunately, the rule would run but only on incoming emails -- it didn't automatically process the emails that were already in the folder. I attempted adapting a few scripts, but I was unsuccessful enough that I won't include them here.

Suggestions on a better approach or fleshing out the approaches I tried?

UPDATE The only thing I need to finish this project is VBA code that runs on a schedule, and possibly syntax to run a rule correctly. eg, if the rule is Snoozetill3, then how does one run Snoozetill3.execute() correctly (that doesn't work)?

This code, per this SO post, will move all the Files from folder TODO to folder Test:

Sub MoveItems()

 Dim myNameSpace As Outlook.NameSpace
 Dim myInbox As Outlook.Folder
 Dim myDestFolder As Outlook.Folder
 Dim myItems As Outlook.Items
 Dim myItem As Object

 Set myNameSpace = Application.GetNamespace("MAPI")
 Set myInbox = myNameSpace.GetDefaultFolder(olFolderInbox)
 Set myItems = myInbox.Items
 Set myDestFolder = myInbox.Folders("test")

 Set myItems = myInbox.Folders("TODO").Items

 'Debug.Print myItems.Count

 For i = myItems.Count To 1 Step -1 'Iterates from the end backwards
    myItems.Item(i).Move myDestFolder

 Next

End Sub
braX
  • 11,506
  • 5
  • 20
  • 33
Zediiiii
  • 750
  • 1
  • 7
  • 21
  • 1
    You could continue to use the subfolder + rule system and set up vba macros to automatically run at a specified time which utilitze [`Rule.Execute()`](https://learn.microsoft.com/en-us/office/vba/api/outlook.rule.execute) to run that rule on the whole folder – Marcucciboy2 Aug 20 '19 at 20:08
  • Scheduling macros isn't always a manageable option but I bet someone else could come up with a more simple method to run this anyways haha – Marcucciboy2 Aug 20 '19 at 20:10
  • Can you not build this as an add-in? – Eric Legault Aug 20 '19 at 21:10
  • 1
    @EricLegault That would definitely fit a niche demand -- I'm not the only one who wants to use inbox zero principles in outlook using this function. The mock-up and theory is almost trivial, but I'm struggling to implement it in code because I'm not familiar with form and syntax for outlook VBA. All I need to at least get limping forward at this point is code that allows running of a macro on a regular, time-based schedule. I'd pay a nominal fee for a quality plugin that allows snoozing mail in outlook. – Zediiiii Aug 20 '19 at 22:20
  • Here's a question with some good advice https://stackoverflow.com/a/22773677/2727437 – Marcucciboy2 Aug 20 '19 at 23:39
  • Ah Task Scheduler+VBA, good idea. [This post explains that this is very bad idea but does offer a possible solution for those with access to O 365.](https://stackoverflow.com/questions/43435188/runing-vbscript-code-for-outlook-through-a-scheduler) See also [this post, which does this despite the risks.](https://stackoverflow.com/questions/40610636/windows-task-manager-schedule-vba-macro-to-send-an-email-using-outlook-daily-run) – Zediiiii Aug 21 '19 at 14:00
  • Using Task Scheduler will create problems - it's not supported for a reason. It may work for other Office apps, but in most cases (esp. Exchange on-premises) Outlook relies on the context of the logged in Windows user, while Task Scheduler processes use the System account (I think) as the context for running Outlook, which may not have the appropriate premissions – Eric Legault Aug 21 '19 at 15:47
  • 1
    @EricLegault It seems [snooze](https://www.techhit.com/SnoozeIt/) does exactly this, but I can't use plugins at my work. – Zediiiii Aug 21 '19 at 20:13
  • 1
    @Zediiiii I was going to mention ClearContext - the only add-in I've been using regularly for years – Eric Legault Aug 21 '19 at 20:34
  • I made a janky sort of solution at [this post](https://superuser.com/questions/1474184/schedule-run-outlook-vba-script-at-time/1474222#1474222) – Zediiiii Aug 22 '19 at 19:59

0 Answers0