В настоящее время я использую фильтр просмотра, чтобы «отложить» электронную почту, что означает, что электронная почта скрыта от просмотра, когда на ней установлен флаг продолжения, пока флаг не установлен для продолжения «сегодня». Это базовая настройка фильтра просмотра на вкладке «Дополнительно» фильтра просмотра в Outlook:
У меня часто есть электронная почта, которую я хочу скрыть, пока она не станет доступной позже в тот же день. В идеале я мог бы использовать приятный пользовательский интерфейс (например, Gmail), такой как этот:
Я попытался использовать метод просмотра-скрытия, чтобы управлять этим, классифицируя электронные письма, запуская правило для скрытия электронной почты при категоризации, а затем удаляя категоризацию в определенное время, но я не смог найти хороший способ 1-запустить правило на уже существующую категоризацию (1- обрисовано в комментариях), и 2-запустить правило на всю папку в определенное время (2-теперь обрисовано ниже).
Другой подход, который я пробовал, заключался в том, чтобы перемещать электронные письма в определенную папку (например, откладывать до 14:00, откладывать до 16:00 и т. д.), а затем возвращать их обратно в папку «Входящие» в определенное время с помощью правила или сценария. К сожалению, это правило будет работать, но только для входящих писем — оно не обработает автоматически письма, которые уже были в папке. Я попытался адаптировать несколько сценариев, но безуспешно, поэтому не буду их здесь включать.
Предложения по лучшему подходу или конкретизация подходов, которые я пробовал?
ОБНОВЛЕНИЕ Единственное, что мне нужно для завершения этого проекта, — это код VBA, который выполняется по расписанию, и, возможно, синтаксис для правильного запуска правила. например, если правило Snoozetill3, то как правильно запустить Snoozetill3.execute()
(это не работает)?
Этот код, для этого сообщения SO, переместит все Файлы из папки TODO в папку 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