Share via


Propriété ValidationRule.TestExpression (Visio)

Obtient ou définit l’expression logique qui détermine si l’objet cible satisfait à la règle de validation. Lecture-écriture.

Syntaxe

expression. TestExpression

Expression Variable qui représente un objet ValidationRule .

Valeur renvoyée

String

Remarques

Lorsque vous validez un diagramme en appelant la méthode Validate ou en cliquant sur Vérifier le diagramme sous l’onglet Processus , Microsoft Visio utilise l’expression de test que vous définissez comme valeur de propriété TestExpression pour déterminer si l’objet cible satisfait à la règle de validation. Si l’expression de test donne False, Visio génère un problème de validation. Si l’expression de test prend la valeur True, aucun problème de validation n’est généré.

Visio évalue l’expression de test pour les objets cibles uniquement lorsque la valeur de la propriété FilterExpression de l’objet ValidationRule prend la valeur True.

La syntaxe de la valeur de propriété TestExpression est la même que pour une expression ShapeSheet. Lorsque vous définissez la valeur de propriété TestExpression, Visio ne vérifie pas la syntaxe de l’expression de test. Si la syntaxe de l’expression de test est incorrecte, l’évaluation de l’expression échoue pendant la validation et Visio génère alors un problème de validation.

Exemple

L’exemple Visual Basic pour Applications (VBA) suivant montre comment utiliser la propriété TestExpression pour déterminer si une cible de forme particulière satisfait à une règle de validation.

' 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"

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.