У меня есть макрос перспективы, который имеет код для извлечения правил, который работает в Outlook 2010, но не работает на другой машине с перспективой 2016.Outlook 2016 vba Application.Session.DefaultStore.GetRules() не возвращает правила
код:
Set colRules = Session.DefaultStore.GetRules()
For Each oRule In colRules
ruleName = oRule.Name
If Left(ruleName, 21) = "AutoCategorize into *" Then
oRule.Execute (True)
End If
Next
проблема в соответствии с моей отладки, в объект возвращаемые colRules. В 2016 году, это показывает, что он имеет 26 элементов, но содержит ни одно: (debug view image in 2016)
В Outlook 2013, тот же объект показывает все 26 элементов (правила): (debug view image in 2013)
Прочие наблюдения:
- Мастер правил действительно корректно отображает все 26 правил на обеих машинах;
- Некоторые из правил были определены на компьютере с перспективой 2013 года, поэтому они отображаются как (для другого компьютера) в мастере правил 2016;
- OutlookSpy Магазин -> Функции -> GetRules возвращает тот же результат: (Не можете размещать изображения еще ... не хватает репутации)
EDIT - я нашел причину проблемы, но а не решение ... Причина не в том, что объект правил содержит правила «с другого компьютера». Я удалил все правила, отмеченные «с другого компьютера», чтобы протестировать, и перезапустите макрос. Теперь он нашел все остальные правила. То же самое для OutlookSpy. Так что что-то нарушается в реализации Microsoft правил. Конечно, я не могу оставаться таким, потому что, поскольку это почтовый ящик обмена, он фактически удалил правила с другого компьютера, а также ... Я протестировал это на другой учетной записи и получил тот же результат, который доказывает, что API перспективы не может обрабатывать правила. У кого-нибудь есть альтернативные решения или обходные пути? @Dmitry?
Вы видите правила на уровне MAPI в OutlookSpy (http://www.dimastr.com/outspy)? Перейдите в папку «Входящие», нажмите кнопку «IMAPIFolder», перейдите на вкладку PR_RULES_TABLE (если она видна). –
Dmitry, я не знаком с OutlookSpy, но я добавил его и выполнил ваши инструкции, однако в появившемся окне нет вкладки с этим именем. –
Я больше поработал с OutlookSpy. Если я нажимаю «Сохранить», а затем на вкладке «Функции» я нажимаю «GetRules», я получаю окно, в котором говорится, что существует 26 правил, но ни один из них не появляется. Так что в основном это одно и то же. Я добавлю этот снимок экрана к исходному сообщению. –