ValidationRule.TestExpression 属性 (Visio)

获取或设置逻辑表达式,用于确定目标对象是否满足验证规则。 读/写。

语法

expressionTestExpression

表达 一个代表 ValidationRule 对象的变量。

返回值

String

备注

通过调用 Validate 方法或单击“进程”选项卡上的“检查关系图”来验证图表时,Microsoft Visio 将使用你设置为 TestExpression 属性值的测试表达式来确定目标对象是否满足验证规则。 如果测试表达式的计算结果为 False,Visio 就会生成验证问题。 如果测试表达式的计算结果为 True,则不会生成验证问题。

仅当 ValidationRule 对象的 FilterExpression 属性值为 True 时,Visio 才会计算目标对象的测试表达式。

TestExpression 属性值的语法与 ShapeSheet 表达式的语法相同。 当您设置 TestExpression 属性值时,Visio 不会检查测试表达式的语法。 如果测试表达式的语法不正确,则在验证过程中,表达式的计算将会失败,此时 Visio 将生成验证问题。

示例

以下Visual Basic for Applications (VBA) 示例演示如何使用 TestExpression 属性来确定特定形状目标是否满足验证规则。

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

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。