Compartir a través de


Propiedad ValidationRule.TestExpression (Visio)

Obtiene o establece la expresión lógica que determina si el objeto de destino cumple la regla de validación. Lectura y escritura.

Sintaxis

expresión. TestExpression

Expresión Variable que representa un objeto ValidationRule .

Valor devuelto

Cadena

Comentarios

Al validar un diagrama llamando al método Validate o haciendo clic en Comprobar diagrama en la pestaña Proceso , Microsoft Visio usa la expresión de prueba que se establece como valor de propiedad TestExpression para determinar si el objeto de destino satisface la regla de validación. Si la expresión de prueba se evalúa en False, Visio genera un problema de validación. Si la expresión de prueba se evalúa como True, no se genera ningún problema de validación.

Visio evalúa la expresión de prueba para los objetos de destino solo cuando el valor de la propiedad FilterExpression del objeto ValidationRule se evalúa como True.

La sintaxis para el valor de la propiedad TestExpression es la misma que para una expresión de ShapeSheet. Cuando se establece el valor de la propiedad TestExpression, Visio no comprueba la sintaxis de la expresión de prueba. Si la expresión de prueba no es sintácticamente correcta, la evaluación de la expresión produce errores durante la validación y Visio genera en ese momento un problema de validación.

Ejemplo:

En el siguiente ejemplo de Visual Basic para Aplicaciones (VBA) se muestra cómo usar la propiedad TestExpression para determinar si un destino de forma determinado satisface una regla de validación.

' Add a validation rule to the document.
Set vsoValidationRule = vsoValidationRuleSet.Rules.Add("Unglued2DShape")
vsoValidationRule.Category = "Shapes"
vsoValidationRule.Description = "This 2-dimensional shape is not connected to
any other shape."
vsoValidationRule.Ignored = False
vsoValidationRule.TargetType = Visio.VisRuleTargets.visRuleTargetShape

' The validation function Is1D() returns a Boolean value that indicates 
' whether the shape is 1D (True) or 2D (False).
vsoValidationRule.FilterExpression = "NOT(Is1D())"

' The validation function GLUEDSHAPES returns a set of 
' shapes glued to the shape.
' It takes as input one parameter that indicates the direction of the glue.
' The direction values are equivalent to members of VisGluedShapesFlags:
' 0 = visGluedShapesAll1D, and 3 = visGluedShapesAll2D
' It takes as input one parameter indicating the direction of the glue.

' The validation function AGGCOUNT takes a set of shapes as its input, and 
' returns the number of shapes in the set.
vsoValidationRule.TestExpression = "AGGCOUNT(GLUEDSHAPES(0)) + AGGCOUNT(GLUEDSHAPES(3)) > 0"

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.