Specifying Rule Actions
Объектная модель Rules поддерживает наиболее часто используемые действия и условия правил. Каждый объект Rule имеет свойство Actions , представляющее действия правила для этого правила, а также свойство Conditions и свойство Exceptions , которые представляют условия для этого правила. В этом разделе описывается, как объектная модель Rules поддерживает действия правил.
Действия правила для правила представлены объектом коллекции RuleActions . Объект RuleActions имеет свойства, соответствующие каждому часто используемому действию правила в правиле. Например, если правило указывает два действия — перемещение сообщения в определенную папку и воспроизведение звука, то свойства MoveToFolder и PlaySound объекта коллекции RuleActions правила возвращают соответствующие объекты действия правила, которые включены (RuleAction.Enabled имеет значение True).
Действия, не указанные в правиле, не будут включены в соответствующем объекте RuleAction (Значение RuleAction.Enabled имеет значение False). Эти объекты действия правила представлены либо объектом \ RuleAction , либо настраиваемыми объектами, производными от объекта RuleAction . В последнем примере, в частности, свойство RuleActions.MoveToFolder вернет объект MoveOrCopyRuleAction , а свойство RuleActions.PlaySound вернет объект PlaySoundRuleAction , оба из которых являются производными от объекта RuleAction . Объект RuleAction и его производные объекты имеют свойство ActionType , указывающее тип действия правила. Например, MoveOrCopyRuleAction.ActionType будет указывать значение olRuleActionMoveToFolder, а PlaySoundRuleAction.ActionType — olRuleActionPlay.
Примечание.
Объектная модель Rules поддерживает частичный паритет с мастером правил и оповещений. Это означает, что, хотя вы можете использовать мастер для создания правил, определяющих любое действие и условие, которые вы видите в мастере, вы можете программно создать правила, использующие некоторые, но не все из этих действий и условий. Пример действия, которое объектная модель Rules поддерживает для правил, созданных мастером, но не для правил, созданных объектной моделью, — запрос ответа сервера. Используйте мастер, чтобы создать правило, указывающее определенный ответ сервера в качестве действия.
С помощью объектной модели Rules можно перечислить эти типы правил в коллекции Rules . Для каждого правила в коллекции Rules перечислить его коллекцию RuleActions и найти включенное действие правила для ответа сервера. В коде это означает, что для каждого правила в коллекции Rules выполните перечисление RuleActions.Item(Index) с помощью индекса от 1 до RuleActions.Count и найдите включенное действие с actionType , равным olRuleActionServerReply. Вы также можете включить или отключить такое действие правила в правиле. Однако нельзя программно создать правило, указывающее действие olRuleActionServerReply .
В следующей таблице перечислены все действия правил, поддерживаемые мастером правил и оповещений, а также то, поддерживается ли каждое действие правила при создании правила с помощью объектной модели Правил. Действие правила, которое не поддерживается в правилах, созданных объектной моделью Правил, поддерживается только для программного перечисления и включения или отключения в существующих правилах, созданных мастером правил и оповещений. В таблице также показано, применяется ли действие правила к правилам с типом правила olRuleReceive или типом правила olRuleSend или обоими.
Действие | Константы в olRuleActionType | Поддерживается при программном создании новых правил? | Применяется к правилам olRuleReceive? | Применяется к правилам olRuleSend? |
---|---|---|---|---|
Назначьте сообщение категориям, указанным в свойстве AssignToCategoryRuleAction.Categories | olRuleActionAssignToCategory | Да | Да | Да |
Копия сообщения в список получателей, указанный в свойстве SendRuleAction.Recipients | olRuleActionCcMessage | Да | Нет | Да |
Очистите все категории сообщения. | olRuleActionClearCategories | Да | Да | Да |
Скопируйте сообщение в папку, указанную в свойстве MoveOrCopyRuleAction.Folder | olRuleActionCopyToFolder | Да | Да | Да |
Выполнение настраиваемого действия | olRuleActionCustomAction | Нет | Да | Да |
Отложить доставку на указанное количество минут | olRuleActionDefer | Нет | Нет | Да |
Удаление сообщения | olRuleActionDelete | Да | Да | Нет |
Окончательное удаление сообщения | olRuleActionDeletePermanently | Да | Да | Нет |
Отображение оповещений рабочего стола | olRuleActionDesktopAlert | Да | Да | Нет |
Очистка флага сообщения | olRuleActionFlagClear | Нет | Да | Нет |
Пометка сообщения указанным цветом | olRuleActionFlagColor | Нет | Да | Нет |
Пометка сообщения для действия в указанных днях | olRuleActionFlagForActionInDays | Нет | Да | Да |
Переадресация сообщения в список получателей, указанный в свойстве SendRuleAction.Recipients | olRuleActionForward | Да | Да | Нет |
Пересылка сообщения в виде вложения в список получателей, указанный в свойстве SendRuleAction.Recipients | olRuleActionForwardAsAttachment | Да | Да | Нет |
Пометьте сообщение указанным значением важности. | olRuleActionImportance | Нет | Да | Да |
Пометка сообщения как задачи для последующего выполнения с помощью свойств FlagTo и MarkInterval объекта MarkAsTaskRuleAction | olRuleActionMarkAsTask | Да | Да | Нет |
Пометить как прочитанное | olRuleActionMarkRead | Нет | Да | Нет |
Перемещение сообщения в папку, указанную в свойстве oveOrCopyRuleAction.Folder | olRuleActionMoveToFolder | Да | Да | Нет |
Отображение сообщения, указанного в свойстве NewItemAlertRuleAction.Text | olRuleActionNewItemAlert | Да | Да | Нет |
Уведомление о доставке сообщения | olRuleActionNotifyDelivery | Да | Нет | Да |
Уведомление о том, что сообщение было прочитано | olRuleActionNotifyRead | Да | Нет | Да |
Воспроизведение WAV-файла, указанного в свойстве PlaySoundRuleAction.FilePath | olRuleActionPlaysound | Да | Да | Нет |
Печать сообщения на принтере по умолчанию | olRuleActionPrint | Нет | Да | Нет |
Перенаправление сообщения в список получателей, указанный в свойстве SendRuleAction.Recipients | olRuleActionRedirect | Да | Да | Нет |
Запуск скрипта | olRuleActionRunScript | Нет | Да | Нет |
Пометка сообщения с указанной конфиденциальности | olRuleActionSensitivity | Нет | Нет | Да |
Запрос на ответ сервера с использованием указанного сообщения | olRuleActionServerReply | Нет | Да | Нет |
Запуск .exe | olRuleActionStartApplication | Нет | Да | Нет |
Остановить обработку других правил | olRuleActionStop | Да | Да | Да |
Ответ с помощью указанного файла шаблона (.oft) | olRuleActionTemplate | Нет | Да | Нет |
Действие нераспознанного правила | olRuleActionUnknown | Нет | Да | Нет |
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.