Specifying Rule Conditions
The Rules object model supports the most commonly used rule actions and conditions. Each Rule object has an Actions property that represents the rule actions for that rule, as well as a Conditions property and an Exceptions property that represent the conditions for that rule. Este tópico descreve como o modelo de objeto Rules oferece suporte às condições de regra.
As condições de regra para uma regra são representadas por um objeto de coleção RuleConditions . A RuleConditions object has properties that correspond to each commonly used rule condition in a rule. Por exemplo, se uma regra especifica duas condições - a mensagem é importante e o assunto contém determinadas palavras - então as propriedades Importance e Subject do objeto de coleção RuleConditions da regra retornarão os respectivos objetos de condição de regra habilitados (RuleCondition.Enableed é True).
As condições que não são especificadas em uma regra não serão habilitadas no objeto RuleCondition correspondente (RuleCondition.Enableed é False). Rule condition objects are represented by either the RuleCondition object or customized objects derived from the RuleCondition object. In the last example, the RuleConditions.Importance property will return an ImportanceRuleCondition object, and the RuleConditions.Subject property will return a TextRuleCondition object, both of which are derived from the RuleCondition object. O objeto RuleCondition e seus objetos derivados têm a propriedade ConditionType que indicará o tipo da condição de regra, por exemplo, ImportanceRuleCondition.ConditionType indicará o valor olConditionImportance e TextRuleCondition.ConditionType indicará olConditionSubject.
Lembre-se de que o modelo de objeto Rules mantém paridade parcial com o Assistente de Regras e Alertas. Isso significa que, embora você possa usar o assistente para criar regras que especifiquem qualquer ação e condição visualizada no assistente, é possível criar, de forma programática, regras que usem algumas dessas ações e condições, porém não todas. An example of a condition that the Rules object model supports for rules created by the Wizard but not for those created by the object model is messages of certain level of sensitivity. Use o Assistente para criar uma regra especificando a confidencialidade como condição.
Using the Rules object model, you can enumerate this kind of rule in the Rules collection - for each rule in the Rules collection, enumerate its RuleConditions collection and look for an enabled rule condition for sensitivity. No código, isso significaria para cada regra na coleção Regras , enumerar RuleConditions.Item(Index) usando o Índice de 1 para RuleConditions.Count e procurar uma condição habilitada com RuleCondition.ConditionType igual a olConditionSensitivity. You can also enable or disable such a rule condition in a rule. No entanto, você não pode criar programaticamente uma regra que especifica a condição olConditionSensitivity .
A tabela a seguir lista todas as condições de regra suportadas pelo Assistente de Regras e Alertas e se cada condição de regra tem suporte ao criar uma regra usando o modelo de objeto Regras. A rule condition that is not supported in rules created by the Rules object model is supported only for programmatic enumeration and enabling or disabling in existing rules created by the Rules and Alerts Wizard. The table also shows whether the rule condition applies to rules with the olRuleReceive rule type or olRuleSend rule type, or both.
Nota Você não pode habilitar ou desabilitar uma condição de regra do tipo olConditionOtherMachine. This type of rule condition indicates that the rule can run only on a certain computer, but the current computer is not that computer. This happens when the rule is created on one computer and the rule condition olConditionLocalMachineOnly is enabled, indicating that the rule can run only on that computer. In certain cases, olConditionLocalMachine is automatically set as a result of enabling another rule condition such as olConditionAccount. When you run the same rule on another computer, the rule will show that the condition olConditionOtherMachine is enabled.
Condition | Constante em olRuleConditionType | Com suporte ao criar novas regras programaticamente? | Aplica-se às regras olRuleReceive? | Aplica-se às regras olRuleSend? |
---|---|---|---|---|
Conta é a conta especificada em AccountRuleCondition.Account. | olConditionAccount | Sim | Sim | Sim |
A mensagem é atribuída a qualquer categoria. | olConditionAnyCategory | Sim | Sim | Sim |
O corpo contém palavras especificada em TextRuleCondition.Text. | olConditionBody | Sim | Sim | Sim |
Corpo ou o assunto contém palavras especificadas por Textrulecondition. | olConditionBodyOrSubject | Sim | Sim | Sim |
A mensagem é atribuída à categoria ou categorias especificadas em CategoryRuleCondition.Categorys. | olConditionCategory | Sim | Sim | Sim |
A mensagem tem meu nome na caixa Cc. | olConditionCc | Sim | Sim | |
A mensagem foi recebida em x e y, onde x e y são valores inteiros. | olConditionDateRange | Não | Sim | Sim |
A mensagem foi sinalizada para a ação especificada. | olConditionFlaggedForAction | Não | Sim | Sim |
A mensagem usa o formulário especificado em FormNameRuleCondition.FormName. | olConditionFormName | Sim | Sim | Sim |
O remetente está na lista de destinatários especificada em ToOrFromRuleCondition.Recipients. | olConditionFrom | Sim | Sim | Não |
A mensagem é gerada a partir de uma assinatura de RSS. | olConditionFromAnyRssFeed | Sim | Sim | Não |
A mensagem é gerada a partir de uma assinatura de RSS especificada. | olConditionFromRssFeed | Sim | Sim | Não |
A mensagem tem um anexo. | olConditionHasAttachment | Sim | Sim | Sim |
A mensagem é marcada com o nível especificado de importância. | olConditionImportance | Sim | Sim | Sim |
A regra pode ser executada somente nesta máquina. | olConditionLocalMachineOnly | Sim | Sim | Sim |
A mensagem é um convite para reunião ou uma atualização. | olConditionMeetingInviteOrUpdate | Sim | Sim | Sim |
Cabeçalho da mensagem contém palavras especificada em Textrulecondition. | olConditionMessageHeader | Sim | Sim | Não |
A mensagem não têm meu nome na caixa Para. | olConditionNotTo | Sim | Sim | Não |
A mensagem é enviada somente para mim. | olConditionOnlyToMe | Sim | Sim | Não |
A mensagem é um aviso de ausência temporária. | olConditionOOF | Não | Sim | Não |
A regra pode ser executada somente em uma máquina específica, diferente da máquina atual. | olConditionOtherMachine | Não | Sim | Sim |
A propriedade do documento é exata, contém ou não contém as propriedades especificadas. | olConditionProperty | Não | Sim | Sim |
Endereço do destinatário contém palavras especificada em Textrulecondition. | olConditionRecipientAddress | Sim | Sim | Sim |
O endereço do remetente contém palavras especificadas em Textrulecondition. | olConditionSenderAddress | Sim | Sim | Não |
O remetente na lista de endereços especificada em AddressRuleCondition.Address. | olConditionSenderInAddressBook | Sim | Sim | Não |
A mensagem é marcada com o nível especificado de confidencialidade. | olConditionSensitivity | Não | Sim | Sim |
Os destinatários para os quais foi enviada uma mensagem (Para, Cc) estão na lista de destinatários especificada em ToOrFromRuleCondition.Recipients. | olConditionSentTo | Sim | Sim | Sim |
O tamanho da mensagem está entre x e y (em KB), onde x e y estão os valores Date. Por exemplo, "10;50" define a condição de tamanho entre 10 e 50KB. | olConditionSizeRange | Não | Sim | Sim |
O assunto contém palavras especificadas em Textrulecondition. | olConditionSubject | Sim | Sim | Sim |
Meu nome está na caixa Para. | olConditionTo | Sim | Sim | Não |
A mensagem tem meu nome na caixa Para ou Cc. | olConditionToOrCc | Sim | Sim | Não |
Condição de regra não reconhecida. | olConditionUnknown | Não | Sim | Não |
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.