VBA 2013 ограничивает элементы Outlook с несколькими категориями не работает - PullRequest
0 голосов
/ 10 февраля 2019

Я написал VBA-код в Access, вызывая Outlook для фильтрации элементов электронной почты.Основным критерием является то, что элементы должны иметь 2 категории, например, MOPS, PSA, которые должны быть выбраны.

Впервые он был разработан с Access 2010. В настоящее время он не работает.

Я использую ключевое слово Restrict следующим образом:

Set rootItems = oFolderRoot.Items
strCategory = sGroupCompanyName & ", MOPS"
'>>>
filterCriteria = "[Categories] = " & QuoteWrap(strCategory)
Set objItems = rootItems.Restrict(filterCriteria)

Итак, filterCriteria здесь равно [Categories] = 'PSA, MOPS'

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 10 февраля 2019

При применении фильтра с использованием метода Restrict строка фильтра и свойства должны точно соответствовать (с учетом регистра) для применения фильтра.

Поскольку почтовые отправления могут быть назначеныДля нескольких категорий нельзя полагаться на порядок, в котором каждая категория будет отображаться в строке с разделителями-запятыми, возвращаемой при программном доступе к полю Categories.

Это описано в документации MSDN :

Ключевые слова (или категории)

Поле «Категории» относится к типу ключевых слов и предназначено для хранения нескольких значений.При программном доступе к нему поле категорий ведет себя как текстовое поле, и строка должна точно соответствовать .

Значения в текстовой строке разделяются запятой и пробелом.Обычно это означает, что вы не можете использовать методы Find и Restrict в поле ключевых слов, если оно содержит более одного значения.

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

Set rootItems = oFolderRoot.Items
Set objItems = rootItems.Restrict _
( _
    "[Categories] = '" & sGroupCompanyName & ", MOPS' OR " & _
    "[Categories] = 'MOPS, " & sGroupCompanyName & "'" _
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...