Я хотел сделать то же самое, более или менее. Есть электронные письма, которые я отправляю по правилам, как только они попадают в мой почтовый ящик - я даже не смотрю на них. Есть и другие, которые мне нужно увидеть и прочитать, но, как только я это сделаю, у меня также может быть правило, чтобы быстро их регистрировать. Это где система правил в Outlook, кажется, не работает. Это происходит только для новых элементов, в основном для того, чтобы сервер Exchange мог делать это самостоятельно. Поэтому я трачу много времени, перетаскивая прочитанные сообщения в нужную папку - и у меня их несколько сотен.
Вот как я это реализовал, в основных шагах:
- Создана категория под названием «Автофайл».
- Написал правила, которые проверены для категории "Авто-файл" как часть критериев. Сохраните их с помощью
Fileit:
в названии, чтобы показать мне, что это были правила, основанные на категориях (то есть отложенное действие, в отличие от других моих правил).
- Написал макрос (ниже), который устанавливает выбранные элементы почты в эту категорию, помечает их как прочитанные, затем запускает правила с именами правил, начинающимися с
Fileit
.
- Добавлена кнопка на моей главной панели инструментов для запуска этого макроса.
Итак, теперь, чтобы сохранить в папке входящих сообщений то, что я прочитал, я выбираю его и нажимаю кнопку, и все это уходит волшебством, основываясь на моих правилах Fileit
. В противном случае я не использую категорию, так что это работает для меня. Обратите внимание, что настройка категории сохраняется (что можно считать плюсом). Если вы уже часто используете категории, это не сработает. Имейте в виду, что это превращает правило в правило «только для клиентов» (это делает бит категории), что в основном означает, что Exchange не может запустить его для вас - это нормально, но он предупредит вас об этом, когда вы сохраните править. Код ничего особенного, и вы почти наверняка можете сделать это самостоятельно через несколько минут, но я дам его здесь для копирования / вставки, если хотите.
Sub myFileItMacro()
' 2015-06-24 SWB First attempt to automate Outlook filing
' Note that Outlook 2013 does not have a macro recorder, which doesn't help.
Dim myItem As Outlook.MailItem
Dim intItemCount As Integer
Dim myRules As Outlook.Rules
Dim myRule As Outlook.Rule
Dim intLoop As Integer
' Used to set category of more than one item ...
intItemCount = Application.ActiveExplorer.Selection.Count
If intItemCount > 0 Then ' ... and to check at least one is selected
' Next, assign it to the category. This should be set up beforehand.
For intLoop = 1 To intItemCount
' This could throw an error if there is nothing selected, presumably.
Set myItem = Application.ActiveExplorer.Selection.Item(intLoop)
myItem.Categories = "Auto-file"
myItem.UnRead = False ' Flag as read
' You should be able to see this in the category column once this line runs.
myItem.Save
Next
' Lastly, run the rules on the inbox, although, it would be even better
' to run rules just on this item. Hmmm
' You have to do this by going through the rules.
Set myRules = Application.Session.DefaultStore.GetRules
For Each myRule In myRules
' Execute only rules named starting with "Fileit".
' These have the category filter.
If Left(myRule.Name, 6) = "Fileit" Then
myRule.Execute (False)
End If
Next
End If
End Sub
Добавлен из второго ответа.
Я забыл упомянуть, что в Outlook 2010 и 2013 (или 365, если хотите) есть "Быстрые шаги". Это своего рода позволяет вам настроить кнопку авто-файла. Проблема, с которой я сталкиваюсь, заключается в том, что вам нужно настроить один на правило. Если у меня есть 50 вещей, которые я хочу подать в 50 папок, мне нужно 50 быстрых шагов, и это отчасти побеждает цель, так как вы потратите столько же времени на поиск правильного быстрого шага, сколько перетаскивание писем в правую (под) папку. Я мог бы ошибаться здесь, и если я, пожалуйста, поправьте меня, но это мое понимание.
Преимущество приведенного выше кода состоит в том, что на ленте может быть ОДНА кнопка, которую вы нажимаете, чтобы применить ряд различных правил, даже если выбрано несколько элементов, к каждому будет применено правильное правило. Единственный недостаток, который я обнаружил, заключается в том, что, если я не настроил правило (через какое-то время трудно запомнить их все, у меня есть домашний и рабочий ПК и т.д.), Он просто устанавливает категорию, и электронная почта не перемещается. Не так уж и важно. О, и вы должны разрешить запуск макросов, потому что они явно злые.
Я знаю, что оригинальный постер был еще в 2011 году, они, вероятно, полностью забыли об этом, но вопрос на самом деле все еще актуален и в значительной степени остается без ответа в отличном интернете, поэтому я подумал, что смогу внести свой вклад! Это одна из областей, где, на мой взгляд, юзабилити Outlook действительно не хватает, и все сводится к первой части правил, а именно: "Применяйте это правило после получения сообщения". Если бы вы могли изменить это на «Применить это правило, когда я нажимаю кнопку» или подобное, вам не понадобился бы мой код. По крайней мере, вы можете установить правило, основанное на категории, поэтому приведенный выше код работает.