Especificar condiciones de regla
El modelo de objetos de reglas admite las acciones y condiciones de las reglas de mayor uso. Cada objeto Rule tiene una propiedad Actions que representa las acciones de regla de esa regla, así como una propiedad Conditions y una propiedad Exceptions que representan las condiciones de esa regla. En este tema se describe el modo en que el modelo de objetos de reglas admite las condiciones de regla.
Las condiciones de regla de una regla se representan mediante un objeto de colección RuleConditions . Un objeto RuleConditions tiene propiedades que corresponden a cada condición de regla de uso frecuente de una regla. Por ejemplo, si una regla especifica dos condiciones (el mensaje es importante y el asunto contiene ciertas palabras), las propiedades Importance y Subject del objeto de colección RuleConditions de la regla devolverán los objetos de condición de regla respectivos que están habilitados (RuleCondition.Enabled es True).
Las condiciones que no se especifican en una regla no se habilitarán en el objeto RuleCondition correspondiente (RuleCondition.Enabled es False). Estos objetos de condición de regla se representan mediante el objeto RuleCondition o mediante objetos personalizados derivados del objeto RuleCondition. En este último caso, la propiedad RuleConditions.Importance devolverá un objeto ImportanceRuleCondition, y la propiedad RuleConditions.Subject devolverá un objeto TextRuleCondition, ambos derivados del objeto RuleCondition. El objeto RuleCondition y sus objetos derivados tienen la propiedad ConditionType que indicará el tipo de la condición de regla; por ejemplo, ImportanceRuleCondition.ConditionType indicará el valor olConditionImportance y TextRuleCondition.ConditionType indicará olConditionSubject.
Tenga en cuenta que el modelo de objetos de reglas conserva una paridad parcial con el Asistente para reglas y alertas. Es decir, si bien puede usar el asistente para crear reglas que especifiquen cualquier acción o condición que vea en el asistente, puede crear reglas mediante programación que usen algunas de estas acciones o condiciones, pero no todas. Un ejemplo de una condición que admite el modelo de objetos de reglas para las reglas creadas mediante el asistente, pero no para las creadas por el modelo de objetos, son los mensajes de cierto nivel de confidencialidad. Use el Asistente para crear una regla que especifique la confidencialidad como condición.
Mediante el uso del modelo de objetos de reglas, puede enumerar reglas de este tipo en la colección Rules; por cada regla de la colección Rules, se enumera su colección RuleConditions y se busca una condición de regla habilitada para la confidencialidad. En el código, esto significaría para cada regla de la colección Rules , enumerar RuleConditions.Item(Index) mediante index de 1 a RuleConditions.Count y buscar una condición habilitada con RuleCondition.ConditionType igual a olConditionSensitivity. Además, puede habilitar o deshabilitar una condición de regla de este tipo en una regla. Sin embargo, no se puede crear mediante programación una regla que especifique la condición olConditionSensitivity .
En la tabla siguiente se enumeran todas las condiciones de regla admitidas por el Asistente para reglas y alertas y si se admite cada condición de regla al crear una regla mediante el modelo de objetos Rules. Una condición de regla que no pueda utilizarse con las reglas creadas por el modelo de objetos de reglas sólo se puede enumerar, habilitar o deshabilitar mediante programación en las reglas existentes creadas por el Asistente para reglas y alertas. En la tabla también se indica si la condición de regla se aplica a las reglas con los tipos de regla olRuleReceive, olRuleSend, o con ambos.
Nota No se puede habilitar ni deshabilitar una condición de regla del tipo olConditionOtherMachine. Este tipo de condición de regla indica que la regla sólo puede ejecutarse en un equipo específico, pero que el equipo actual no es dicho equipo. Esto ocurre cuando la regla se ha creado en un equipo y la condición de regla olConditionLocalMachineOnly está habilitada, lo que indica que la regla sólo puede ejecutarse en ese equipo. En ciertos casos, olConditionLocalMachine se establece automáticamente como consecuencia de que se habilite otra condición de regla, como olConditionAccount. Cuando se ejecute la misma regla en otro equipo, la regla indicará que la condición olConditionOtherMachine está habilitada.
Condition | Constante de olRuleConditionType | ¿Se admite al crear nuevas reglas mediante programación? | ¿Se aplica a las reglas olRuleReceive? | ¿Se aplica a las reglas olRuleSend? |
---|---|---|---|---|
Account es la cuenta especificada en AccountRuleCondition.Account. | olConditionAccount | Sí | Sí | Sí |
El mensaje tiene asignada cualquier categoría. | olConditionAnyCategory | Sí | Sí | Sí |
El cuerpo contiene palabras especificadas en TextRuleCondition.Text. | olConditionBody | Sí | Sí | Sí |
Cuerpo o el asunto contiene palabras especificadas por TextRuleCondition.Text. | olConditionBodyOrSubject | Sí | Sí | Sí |
Al mensaje se le asigna la categoría o categorías especificadas en CategoryRuleCondition.Categories. | olConditionCategory | Sí | Sí | Sí |
El mensaje tiene mi nombre en el cuadro CC. | olConditionCc | Sí | Sí | |
El mensaje se recibió entre x e y, donde x e y son valores enteros. | olConditionDateRange | No | Sí | Sí |
El mensaje está marcado para la acción especificada. | olConditionFlaggedForAction | No | Sí | Sí |
El mensaje usa el formulario especificado en FormNameRuleCondition.FormName. | olConditionFormName | Sí | Sí | Sí |
El remitente está en la lista de destinatarios especificada en ToOrFromRuleCondition.Recipients. | olConditionFrom | Sí | Sí | No |
El mensaje lo ha generado cualquier suscripción RSS. | olConditionFromAnyRssFeed | Sí | Sí | No |
El mensaje lo ha generado una suscripción RSS especificada. | olConditionFromRssFeed | Sí | Sí | No |
El mensaje tiene un archivo de datos adjuntos. | olConditionHasAttachment | Sí | Sí | Sí |
El mensaje está marcado con el nivel de importancia especificado. | olConditionImportance | Sí | Sí | Sí |
La regla sólo se puede ejecutar en este equipo. | olConditionLocalMachineOnly | Sí | Sí | Sí |
El mensaje es una invitación a una reunión o una actualización de la misma. | olConditionMeetingInviteOrUpdate | Sí | Sí | Sí |
Encabezado del mensaje contiene palabras especificadas en TextRuleCondition.Text. | olConditionMessageHeader | Sí | Sí | No |
El mensaje no tiene mi nombre en el cuadro Para. | olConditionNotTo | Sí | Sí | No |
El mensaje sólo se me ha enviado a mí. | olConditionOnlyToMe | Sí | Sí | No |
El mensaje es un mensaje fuera de la oficina. | olConditionOOF | No | Sí | No |
La regla sólo puede ejecutarse en un equipo concreto que no es el actual. | olConditionOtherMachine | No | Sí | Sí |
La propiedad del documento es exacta, contiene o no contiene las propiedades especificadas. | olConditionProperty | No | Sí | Sí |
Dirección del destinatario contiene palabras especificadas en TextRuleCondition.Text. | olConditionRecipientAddress | Sí | Sí | Sí |
Dirección del remitente contiene palabras especificadas en TextRuleCondition.Text. | olConditionSenderAddress | Sí | Sí | No |
El remitente está en la lista de direcciones especificada en AddressRuleCondition.Address. | olConditionSenderInAddressBook | Sí | Sí | No |
El mensaje está marcado con el nivel de confidencialidad especificado. | olConditionSensitivity | No | Sí | Sí |
Los destinatarios, especificados en los campos Para y CC, están en la lista de destinatarios especificada en ToOrFromRuleCondition.Recipients. | olConditionSentTo | Sí | Sí | Sí |
El tamaño del mensaje se encuentra entre x e y, expresados en KB, donde x e y son valores de Fecha. Por ejemplo, "10;50" establece la condición de tamaño entre 10 y 50 KB. | olConditionSizeRange | No | Sí | Sí |
El asunto contiene palabras especificadas en TextRuleCondition.Text. | olConditionSubject | Sí | Sí | Sí |
Mi nombre se encuentra en el cuadro Para. | olConditionTo | Sí | Sí | No |
El mensaje tiene mi nombre en el cuadro Para o CC. | olConditionToOrCc | Sí | Sí | No |
Condición de regla no reconocida. | olConditionUnknown | No | Sí | No |
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.