У меня есть правило, настроенное в MS Outlook 2007, которое я не хочу запускать автоматически, но я хочу запускать его время от времени вручную. Я хотел бы максимально ускорить этот "ручной" процесс. Есть ли способ сделать так, чтобы я мог, скажем, иметь кнопку на панели инструментов, которая запускает правило?

По сути, есть определенные виды сообщений (автоматически генерируемых другим сервером), которые я хочу видеть в своей папке входящих сообщений, когда они приходят, но мне все равно, когда я их увидел. Некоторые из них настолько тривиальны, что, увидев заголовок, я хочу, чтобы они были удалены из архива. Каждый раз, когда я чувствую, что мой почтовый ящик слишком перегружен этим, я захожу в меню «Сервис», «Правила и оповещения», «Выполнить правила сейчас», нахожу нужное правило, устанавливаю его флажок, нажимаю кнопку «Выполнить», затем дважды нажимаю «ОК», когда все это сделанный. Я хотел бы свести этот процесс в одно нажатие кнопки.

2 ответа2

4

Вы можете либо:

  1. Добавьте в меню пункт «Выполнить правила сейчас ...» («Инструменты» | «Настроить»); или же
  2. Вы могли бы написать немного VBA для запуска определенного правила (см. Здесь: http://pyrocam.com/how-to-run-outlook-2007-rules-from-a-button/)
3

Я хотел сделать то же самое, более или менее. Есть электронные письма, которые я отправляю по правилам, как только они попадают в мой почтовый ящик - я даже не смотрю на них. Есть и другие, которые мне нужно увидеть и прочитать, но, как только я это сделаю, у меня также может быть правило, чтобы быстро их регистрировать. Это где система правил в Outlook, кажется, не работает. Это происходит только для новых элементов, в основном для того, чтобы сервер Exchange мог делать это самостоятельно. Поэтому я трачу много времени, перетаскивая прочитанные сообщения в нужную папку - и у меня их несколько сотен.

Вот как я это реализовал, в основных шагах:

  1. Создана категория под названием «Автофайл».
  2. Написал правила, которые проверены для категории "Авто-файл" как часть критериев. Сохраните их с помощью Fileit: в названии, чтобы показать мне, что это были правила, основанные на категориях (то есть отложенное действие, в отличие от других моих правил).
  3. Написал макрос (ниже), который устанавливает выбранные элементы почты в эту категорию, помечает их как прочитанные, затем запускает правила с именами правил, начинающимися с Fileit .
  4. Добавлена кнопка на моей главной панели инструментов для запуска этого макроса.

Итак, теперь, чтобы сохранить в папке входящих сообщений то, что я прочитал, я выбираю его и нажимаю кнопку, и все это уходит волшебством, основываясь на моих правилах 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 действительно не хватает, и все сводится к первой части правил, а именно: "Применяйте это правило после получения сообщения". Если бы вы могли изменить это на «Применить это правило, когда я нажимаю кнопку» или подобное, вам не понадобился бы мой код. По крайней мере, вы можете установить правило, основанное на категории, поэтому приведенный выше код работает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .