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.ConditionType — olConditionSubject.
Обратите внимание, что объектная модель Правил поддерживает частичный паритет с мастером правил и оповещений. Это означает, что, хотя вы можете использовать мастер для создания правил, определяющих любое действие и условие, которые вы видите в мастере, вы можете программно создать правила, использующие некоторые, но не все из этих действий и условий. Примером условия, которое объектная модель 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 и обратная связь.