Поделиться через


Specifying Rule Conditions

Объектная модель Rules поддерживает наиболее часто используемые действия и условия правил. Каждый объект Rule имеет свойство Actions , представляющее действия правила для этого правила, а также свойство Conditions и свойство Exceptions , которые представляют условия для этого правила. В этом разделе описывается, как объектная модель Rules поддерживает условия правил.

Условия правила для правила представлены объектом коллекции RuleConditions . Объект RuleConditions имеет свойства, соответствующие каждому часто используемому условию правила в правиле. Например, если правило задает два условия : сообщение важно, а тема содержит определенные слова, то свойства Важность и Субъект объекта коллекции RuleConditions правила возвращают соответствующие объекты условия правила, которые включены (RuleCondition.Enabled имеет значение True).

Условия, не указанные в правиле, не будут включены в соответствующем объекте RuleCondition (Значение RuleCondition.Enabled имеет значение False). Объекты условия правила представлены либо объектом RuleCondition , либо настраиваемыми объектами, производными от объекта RuleCondition . В последнем примере свойство RuleConditions.Importance вернет объект ImportanceRuleCondition , а свойство RuleConditions.Subject вернет объект TextRuleCondition , оба из которых являются производными от объекта RuleCondition . Объект RuleCondition и его производные объекты имеют свойство ConditionType , которое будет указывать тип условия правила, например , ImportanceRuleCondition.ConditionType будет указывать значение olConditionImportance, а TextRuleCondition.ConditionTypeolConditionSubject.

Обратите внимание, что объектная модель Правил поддерживает частичный паритет с мастером правил и оповещений. Это означает, что, хотя вы можете использовать мастер для создания правил, определяющих любое действие и условие, которые вы видите в мастере, вы можете программно создать правила, использующие некоторые, но не все из этих действий и условий. Примером условия, которое объектная модель Rules поддерживает для правил, созданных мастером, но не для правил, созданных объектной моделью, — это сообщения с определенным уровнем конфиденциальности. Используйте мастер, чтобы создать правило, указывающее конфиденциальность в качестве условия.

С помощью объектной модели Rules можно перечислить это правило в коллекции Rules . Для каждого правила в коллекции Rules перечислить его коллекцию RuleConditions и найти условие включенного правила для конфиденциальности. В коде это будет означать, что для каждого правила в коллекции Rules выполните перечисление RuleConditions.Item(Index) с помощью индекса от 1 до RuleConditions.Count и найдите включенное условие с RuleCondition.ConditionType , равным olConditionSensitivity. Вы также можете включить или отключить такое условие правила в правиле. Однако нельзя программно создать правило, указывающее условие olConditionSensitivity .

В следующей таблице перечислены все условия правил, поддерживаемые мастером правил и оповещений, а также то, поддерживается ли каждое условие правила при создании правила с помощью объектной модели Правил. Условие правила, которое не поддерживается в правилах, созданных объектной моделью Правил, поддерживается только для программного перечисления и включения или отключения в существующих правилах, созданных мастером правил и оповещений. В таблице также показано, применяется ли условие правила к правилам с типом правила olRuleReceive , типом правила olRuleSend или и тем, и другим.

Примечание Невозможно включить или отключить условие правила типа olConditionOtherMachine. Этот тип условия правила указывает, что правило может выполняться только на определенном компьютере, но текущий компьютер не является этим компьютером. Это происходит, когда правило создается на одном компьютере и включено условие правила olConditionLocalMachineOnly , указывающее, что правило может выполняться только на этом компьютере. В некоторых случаях параметр olConditionLocalMachine устанавливается автоматически в результате включения другого условия правила, например olConditionAccount. При выполнении того же правила на другом компьютере будет показано, что условие olConditionOtherMachine включено.

Condition Константы в olRuleConditionType Поддерживается при программном создании новых правил? Применяется к правилам olRuleReceive? Применяется к правилам olRuleSend?
Учетная запись — это учетная запись, указанная в разделе AccountRuleCondition.Account. olConditionAccount Да Да Да
Сообщению присваивается любая категория. olConditionAnyCategory Да Да Да
Текст содержит слова, указанные в TextRuleCondition.Text. olConditionBody Да Да Да
Текст или тема содержит слова, заданные textRuleCondition.Text. olConditionBodyOrSubject Да Да Да
Сообщению назначается категория или категории, указанные в CategoryRuleCondition.Categories. olConditionCategory Да Да Да
Сообщение содержит мое имя в поле Копия . olConditionCc Да Да
Сообщение было получено между x и y, где x и y являются целыми значениями. olConditionDateRange Нет Да Да
Сообщение помечается для указанного действия. olConditionFlaggedForAction Нет Да Да
В сообщении используется форма, указанная в параметре FormNameRuleCondition.FormName. olConditionFormName Да Да Да
Отправитель находится в списке получателей, указанном в toOrFromRuleCondition.Recipients. olConditionFrom Да Да Нет
Сообщение создается из любой подписки RSS. olConditionFromAnyRssFeed Да Да Нет
Сообщение создается из указанной подписки RSS. olConditionFromRssFeed Да Да Нет
Сообщение содержит вложение. olConditionHasAttachment Да Да Да
Сообщение помечается указанным уровнем важности. olConditionImportance Да Да Да
Правило может выполняться только на этом компьютере. olConditionLocalMachineOnly Да Да Да
Сообщение — это приглашение на собрание или обновление. olConditionMeetingInviteOrUpdate Да Да Да
Заголовок сообщения содержит слова, указанные в TextRuleCondition.Text. olConditionMessageHeader Да Да Нет
В поле " нет моего имени. olConditionNotTo Да Да Нет
Сообщение отправляется только мне. olConditionOnlyToMe Да Да Нет
Сообщение является сообщением об отсутствии на рабочем месте. olConditionOOF Нет Да Нет
Правило может выполняться только на конкретном компьютере, который не является текущим. olConditionOtherMachine Нет Да Да
Свойство Документа точно, содержит или не содержит указанные свойства. olConditionProperty Нет Да Да
Адрес получателя содержит слова, указанные в TextRuleCondition.Text. olConditionRecipientAddress Да Да Да
Адрес отправителя содержит слова, указанные в TextRuleCondition.Text. olConditionSenderAddress Да Да Нет
Отправитель находится в списке адресов, указанном в поле AddressRuleCondition.Address. olConditionSenderInAddressBook Да Да Нет
Сообщение помечается указанным уровнем конфиденциальности. olConditionSensitivity Нет Да Да
Отправленные получателям (Кому, Копия) находятся в списке получателей, указанном в toOrFromRuleCondition.Recipients. olConditionSentTo Да Да Да
Размер сообщения составляет от x до y в единицах КБ, где x и y — значения даты . Например, "10;50" задает условие размера от 10 до 50 КБ. olConditionSizeRange Нет Да Да
Тема содержит слова, указанные в TextRuleCondition.Text. olConditionSubject Да Да Да
Меня зовут в поле ". olConditionTo Да Да Нет
Сообщение имеет мое имя в поле Кому или Копия . olConditionToOrCc Да Да Нет
Условие нераспознанного правила. olConditionUnknown Нет Да Нет

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.