Моя цель - не заставлять Outlook удалять всю почту с указанного адреса, сохраняя максимум 3 последних (это действительно помогает с некоторыми ежедневными подписками, такими как купоны и т.д.).

У меня много правил сортировки почты по разным папкам и пометки их специальной категорией (назовем ее «Количество: 3»). У меня также есть последнее правило в списке, которое запускает мой VBA-скрипт: он считает почту от одного и того же отправителя в папке (имеющей эту категорию «Количество: 3») и удаляет старое, оставляя не более запрашиваемой суммы.
Все это прекрасно работает, когда Outlook работает и получает новую почту. Но когда я запускаю Outlook в первый раз и на сервере появляется новая почта - он случайным образом сообщает, что не удалось выполнить правило сценария, и отключает его ...
Мой скрипт ведет логи, поэтому я уверен, что проблема не в скрипте. Более того, похоже, что когда я включаю ведение журнала отладки в Outlook - проблема исчезает. И в системном журнале тоже нет ничего подозрительного ...

Итак, вопрос в том, как я могу узнать, что с ним не так? Если отрицательный - есть ли способ достичь того, что я хочу в Outlook 2013?
И да, я знаю, что MS предлагает не использовать правило VBA вместе с другими видами правил, независимо от порядка и так далее, но все еще не могу поверить, что они сделали его таким непредсказуемым ...

PS: то же решение работало более или менее стабильно в Outlook 2007 в те времена ...

2 ответа2

0

Если вместо того, чтобы пытаться сделать все за один раз, вы должны пометить все, что хотите удалить, категорией. Затем вы можете создать виртуальную папку поиска для этой категории. Это имеет преимущество работы со всеми фактическими папками.

Затем вы могли бы написать какой-нибудь простой VBA, который выполняется при запуске и завершении работы Outlook, который удаляет содержимое этой виртуальной папки поиска.

Тогда вы не зависите от событий почтового транспорта, запускаемых в правильном порядке.

0

Мужчина! Похоже , я наконец установил его (FACEPALM) Так как он работает все время является:

  • Тот же основанный на правилах VBA сабвуфер
  • Обработчики событий Application_Startup/Application_Quit для включения / выключения соответствующего правила во избежание случайных ошибок при запуске Outlook (см. Мои комментарии к вопросу / ответам здесь)
  • Автоматический запуск ярлыка, скопированного из папки « Пуск» -> «Все программы» в Microsoft Office 2013 (изначально он был ярлыком для OUTLOOK.EXE, и похоже, что он вообще не запускает обработчики событий при запуске Outlook таким образом O_o)

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