Созданные собственные правила проверки необходимо добавить в файл Visio. API Visio предоставляет простой способ добавления правил и наборов правил, а также установки связанных с ними свойств. Обычно эти методы выполняются однократно для заполнения шаблона или схемы правилами проверки. На практике правила уже могут быть добавлены в шаблон, после чего шаблон можно развернуть, не используя программный код решения. При развертывании кода решения можно также добавить в текущий документ пользователя собственные правила, если пользователь сначала захочет выполнить проверку с помощью этих правил.
В таблице дано краткое описание параметров методов проверки схем.
Методы проверки схем для добавления наборов правил и правил.
Метод
Описание метода
Параметр
Описание параметра
ValidationRuleSets.Add
[ {http://msdn.microsoft.com/en-us/library/ff766785.aspx ] (NameU)
Добавляет новый пустой объект ValidationRuleSet в набор ValidationRuleSets документа.
NameU
Универсальное имя, назначаемое новому набору правил проверки.
ValidationRules.Add
[ http://msdn.microsoft.com/en-us/library/ff765351.aspx ] (NameU)
Добавляет новый пустой объект ValidationRule в набор ValidationRules документа.
Универсальное имя, назначаемое новому правилу проверки.
Следующий код Visual Basic for Applications (VBA) добавляет набор правил и правило, которое направляет фигуру в активный документ.
Set vsoDocument = Visio.Activedocument 'Add a validation rule set to the documentSet vsoValidationRuleSet = vsoDocument.Validation.RuleSets.Add("Connectivity")vsoValidationRuleSet.Description = "Verify that shapes are correctly connected in the document."vsoValidationRuleSet.Enabled = TruevsoValidationRuleSet.RuleSetFlags = Visio.VisRuleSetFlags.visRuleSetDefault 'Add a validation rule to the documentSet vsoValidationRule = vsoValidationRuleSet.Rules.Add(“Unglued2DShape”)vsoValidationRule.Category = "Shapes"vsoValidationRule.Description = "This 2-dimensional shape is not connected to any other shape."vsoValidationRule.Ignored = FalsevsoValidationRule.TargetType = Visio.VisRuleTargets.visRuleTargetShape 'The validation function Is1D() returns a Boolean value indicating 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 indicating the direction of the glue.'The direction values are equivalent to members of VisGluedShapesFlags:'0 = visGluedShapesAll1D and 3 = visGluedShapesAll2D'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"