Introduction aux règles de validation dans Visio Premium 2010 (traduction automatique)

Important

Cet article a été traduit automatiquement, voir l’avertissement. Vous pouvez consulter la version en anglais de cet article ici.

Résumé : Découvrez la nouvelle fonctionnalité de validation de diagramme dans Microsoft Visio Premium 2010 et comment utiliser l’API de validation pour créer vos propres règles et jeux de règles pour valider les diagrammes Visio 2010.

Dernière modification : jeudi 7 avril 2011

S’applique à : Office 2010 | SharePoint Server 2010 | Visio 2010 | Visio Premium 2010

Dans cet article
vue d’ensemble
Conditions requises
Expérience utilisateur
Diagrammes de structurés
Vue d'ensemble des API de validation
Validation des diagrammes Structured
Examen des règles existantes
Création d'un ensemble de règles de
Exemple : Création d'une règle d'analyse arbre de défaillance Set
Règles de publication
Conclusion
ressources supplémentaires
À propos de l’auteur

Applies to:Microsoft Visio Premium 2010
Publié : 2010 juillet
fournies par :      Collaborateur MVPDavid j. Parker (éventuellement en anglais), bVisual Ltd | À propos de l’auteur

Contenu

  • vue d’ensemble

  • Conditions requises

  • Expérience utilisateur

  • Diagrammes de structurés

  • Vue d'ensemble des API de validation

  • Validation des diagrammes Structured

  • Examen des règles existantes

  • Création d'un ensemble de règles de

  • Exemple : Création d'une règle d'analyse arbre de défaillance Set

  • Règles de publication

  • Conclusion

  • ressources supplémentaires

vue d’ensemble

Microsoft Visio Premium 2010 a introduit une extension à la bibliothèque de types Visio appelle l'API de validation. À l'aide de l'API de validation, vous pouvez valider un diagramme Visio pour vous assurer que sa construction est conforme à un ensemble de règles (par exemple, les règles de schéma standard de l'industrie ou des règles personnalisées conçues pour une société particulière). Les organisations peuvent utiliser cette nouvelle fonction pour encapsuler une logique métier en tant que règles de validation, regroupés au sein des ensembles de règles. Visio Premium 2010 contient les ensembles de règles par défaut pour une utilisation avec les diagrammes de Basic, diagrammes de flux fonctionnel croisé, diagrammes de la notation de modélisation des processus professionnels (BPMN) et flux de travail de SharePoint Designer.

Conditions requises

Cet article utilise l'API de validation qui se trouvent uniquement dans Microsoft Visio Premium 2010. Le lecteur doit soit ont une expérience dans ou avez la volonté d'en savoir plus sur, la construction de formule de feuille ShapeSheet de Visio. ressources supplémentaires sont fournies à la fin de l'article.

La méthodologie de développement de l'ensemble de règles décrite dans cet article utilise Visual Basic pour applications (VBA) macros. Par conséquent, les macros doivent être activées dans Visio.

Pour activer les macros dans Visio

  1. Sous l'onglet Fichier, cliquez sur Options, cliquez sur Centre de gestion de la confidentialité et puis cliquez sur Paramètres du Centre de gestion de la confidentialité.

  2. Dans la boîte de dialogue Centre de gestion de la confidentialité, cliquez sur l'onglet Paramètres des macros.

  3. Sous Paramètres de macros pour les développeurs, sélectionnez Accès approuvé au modèle d'objet du projet VBA.

Expérience utilisateur

Visio Premium 2010 contient un onglet supplémentaire, Processus (dans le composant ruban de la Interface utilisateur Microsoft Office Fluent, comme illustré figure 1), qui fournit l'accès pour les parties visibles de l'API de validation dans le groupe de Validation de schéma.

La figure 1. Onglet processus

Onglet Processus

L'utilisateur clique sur le bouton Vérifier le diagramme pour valider l'ensemble du document contre les ensembles de règles actuellement activés dans le document. La fenêtre de Problèmes, illustrée en figure 2, affiche tous les problèmes qui déclenche le processus de validation. Pour facilement rechercher les formes qui ont des problèmes, sur un problème et Visio sélectionne la forme correspondante.

La figure 2. Problèmes de fenêtre

Fenêtre de problèmes

Visio Premium 2010 prend en charge de validation de plusieurs modèles, y compris le nouveau BPMN de tâches et modèles de flux de travail de Microsoft SharePoint et les modèles de diagramme de flux simple et Cross-Functional Flowchart améliorées du diagramme, qui se trouvent dans la catégorie diagramme de flux.

Diagrammes de structurés

Il n'y a de nombreux types de diagrammes qui peuvent être considérés comme structuré. Un diagramme de flux de processus est un type de diagramme de structure, mais il n'y a de nombreuses autres diagrammes de structure pouvant être appliquées à.

Un diagramme de structure est celui dans lequel il existe un ensemble de relations logiques entre les formes. Relations mettre visual d'organisation à des diagrammes et elles peuvent fournir des capacités d'interaction particulière.

Visio 2010 (toutes éditions) a introduit certaines nouvelles fonctionnalités qui facilitent le former ces relations. Conteneurs, des listes et des légendes dans Visio 2010 activer les formes afin de déterminer la relation contenant-contenu, l'ordre et association, respectivement. Il s'agit avec les relations de connectivité qui ont toujours été possible dans Visio, mais qui sont maintenant plus facile à comprendre et à naviguer avec la nouvelle API de connectivité.

Relation contenant-contenu

La fonctionnalité de conteneurs dans Visio 2010 facilite l'ajout d'une limite visuelle autour des formes, y compris une étiquette, comme illustré figure 3. Visio effectue tout le travail pour conserver la relation entre le conteneur et son contenu.

La figure 3. Relation contenant-contenu de schéma

Diagramme endiguement

ordre

Les formes sont ajoutées à une liste sont disposées automatiquement à un autre côté. Dans la figure 4, les couloirs sont les formes de la liste dans la forme conteneur de Cross-Functional Flowchart (CFF).

La figure 4. Ordre du diagramme

Diagramme commande

Association

Une forme de légende se déplace lorsque la forme cible est déplacée. Dans la figure 5, la forme de tâche d'Évaluation de cours de discussion possède une légende associée qui contient un texte descriptif.

La figure 5. Association du diagramme

Association du diagramme

Connectivité

Visio a toujours fourni la possibilité de créer des connexions entre les formes. À l'origine c'était uniquement possible à l'aide d'une forme (1-D) pour se connecter à deux dimensions (2D) formes ensemble. La forme 1D, souvent désignée par un connecteur, a un début et une fin. Par conséquent, la forme 2-D collée au début d'une forme 1D a un connecteur vers l'extérieur, et la forme 2-D collée à la fin de la forme 1-D est un connecteur vers l'intérieur, comme illustré figure 6.

La figure 6. Connexions entre les formes

Connexions entre formes

La direction du flux en même temps que d'un lien 1D peut être importante pour la compréhension de visual et par programme. Par conséquent, il est souvent nécessaire de vérifier que les formes sont collées à la fin du connecteur appropriée.

Notes

Lignes dans Visio peuvent avoir des flèches et d'autres types d'extrémités de trait, extrémité quelconque, les deux extrémités, ou aucun des deux extrémités. Par conséquent, vous ne pouvez pas toujours supposer qu'une flèche sur une ligne indique la direction de la ligne.

Les versions ultérieures de Visio a introduit la possibilité pour les deux formes 2D (par exemple, les surfaces de travail dans le modèle Aménagement de bureau) pour être collées à un autre ou même pour les deux formes 1D être collées ensemble (par exemple, les pipelines dans le modèle de flux de processus).

Vue d'ensemble des API de validation

Les objets de clé, les méthodes et les propriétés pour la validation sont affichées dans la figure 7.

La figure 7. La clé de validation des objets, méthodes et propriétés

Objets, méthodes et propriétés de validation de clé

L'API de validation est basée sur trois concepts essentiels : règles d'ensembles, les règles et les problèmes. Une règle de validation ou d'une règle, représente un type d'erreur qui peut se produire dans votre diagramme. Chaque règle possède la logique métier sous-jacente qui détermine quand la règle est enfreinte. Un problème est un cas dans votre diagramme dans lequel la règle de validation est interrompue. En fonction de votre diagramme, il peut y avoir plusieurs problèmes liés à la même règle. Par exemple, si la règle nécessite que toutes les formes être étiquetées, validation affiche un problème pour chaque forme à laquelle il manque une étiquette. Regroupement logique des règles, telles que les ensembles de règles BPMN et diagramme de flux sont des ensembles de règles.

Clé Validation Objects and Properties

Jeux de règles, règles et problèmes ont des objets de l'API correspondantes : ValidationRuleSetValidationRule et ValidationIssue, respectivement. Dans les sections suivantes décrivent les principales propriétés de chacun de ces objets sont décrites.

ValidationRuleSet

Chaque ensemble de règles est une propriété unique NameU qui représente le nom universel de l'ensemble de règles. Vous devez également spécifier une valeur de propriété Description pour chaque ensemble de règles. D'autres propriétés sont définies par défaut, et vous devrez les modifier uniquement si vous voulez un comportement différent. Les principales propriétés de l'objet ValidationRuleSet sont affichées dans le tableau 1.

Le tableau 1. Propriétés de la clé ValidationRuleSet

propriété

Description

Description

Spécifie la description de l'ensemble de règles.

Enabled

Détermine si l'ensemble de règles est actif ou inactif. Seules les règles appartenant aux ensembles de règles actives sont vérifiées lors du déclenche de la validation. Par défaut, les ensembles de règles sont activées.

Name

Spécifie le nom de l'ensemble de règles qui s'affiche dans l'interface utilisateur (IU). Par défaut, il est identique à la valeur de NameU.

NameU

Spécifie le nom universel de l'ensemble de règles.

Rules

Détaille les règles dans l'ensemble de règles.

RuleSetFlags

Détermine si l'ensemble de règles s'affiche dans l'interface utilisateur. Par défaut, les ensembles de règles sont visibles dans l'interface utilisateur.

ValideSi (ValidationRule)

Chaque règle a une propriété unique NameU qui représente le nom universel de la règle. Vous devez également spécifier un Category et une valeur de propriété Description pour chaque règle, dans la mesure où ces propriétés sont utilisées dans l'interface utilisateur. La valeur Category doit informer l'utilisateur sur le type de problème et peut être utilisée pour déterminer l'ensemble de règles qui a déclenché le problème. La valeur Description doit être suffisamment explicite pour expliquer le problème afin qu'un utilisateur peut l'envoyer. Les principales propriétés de l'objet ValidationRule sont affichées dans le tableau 2.

Le tableau 2. Propriétés ValidationRule (ValideSi) de clé

propriété

Description

Category

Représente le texte qui s'affiche dans la colonne de Catégorie de la fenêtre de Problèmes.

Description

Spécifie la description de la règle qui s'affiche dans la fenêtre de Problèmes.

FilterExpression

Spécifie l'expression logique qui détermine si la règle de validation doit être appliquée à un objet cible.

Ignored

Détermine si la règle de validation est actuellement pas pris en compte. Par défaut, les règles ne sont pas ignorés.

NameU

Spécifie le nom universel de la règle.

RuleSet

Cette propriété renvoie l'ensemble de règles qui contient la règle.

TargetType

Détermine le type de cible de la règle. Une règle peut cibler les documents, pages ou des formes.

La valeur de propriété TargetType doit être une des constantes VisRuleTargets suivantes :

  • visRuleTargetShape = 0

  • visRuleTargetPage = 1

  • visRuleTargetDocument = 2

TestExpression

Spécifie l'expression logique qui détermine si l'objet cible satisfait la règle.

ValidationIssue

Chaque problème dispose d'une règle associée qui spécifie la description et la catégorie qui s'affiche dans la fenêtre de Problèmes. Lorsqu'un utilisateur clique sur un problème dans la fenêtre de Problèmes, Visio affiche la page qui contient le problème (si le problème cible d'une forme ou page) et le sélectionner la cible de la forme (si le problème cible d'une forme). Les propriétés de TargetShapeTargetPage, TargetPageID et sont utilisées pour déterminer la page à afficher et de la forme pour la sélectionner. Les principales propriétés de l'objet ValidationIssue sont affichées dans le tableau 3.

Le tableau 3. Propriétés de la clé ValidationIssue

propriété

Description

Ignored

Détermine si le problème est actuellement pas pris en compte.

Rule

Spécifie la règle ayant généré le problème.

TargetPage

Spécifie la page qui est associée le problème.

TargetPageID

Spécifie l'ID de la page qui est associée le problème de validation.

TargetShape

Spécifie la forme à laquelle est associée le problème de validation.

Validation des diagrammes Structured

Un document peut contenir plusieurs ensembles de règles, chacune d'entre elles peut être activée ou désactivée pour les besoins de valider la structure. Visio Premium 2010 contient un ensemble de règles de diagramme de flux qui est utilisé dans les modèles de diagramme de flux simple, Cross-Functional Flowchart et Six Sigma. Toutes les règles dans l'ensemble de règles de diagramme de flux sont définis dans les expressions de filtre et de test. Vous pouvez analyser ces règles pour apprendre à créer des ensembles de règles pour d'autres types de diagrammes.

Un autre exemple de diagramme de flux énoncée de Visio Premium 2010 est le modèle Diagramme BPMN, comme illustré figure 8. Cet ensemble de règles prend en charge BPMN 1.2, qui permet aux organisations qui utilisent cette méthodologie particulière afin de vérifier que les diagrammes sont structurées en conséquence.

La figure 8. Ensemble de règles BPMN

Jeu de règles BPMN

Vous pouvez importer d'ensembles de règles à partir d'autres documents Visio ouverts à l'aide de l'option Importer les règles de. Toutefois, si les règles requises sont très complexes, vous pouvez écrire également des règles dans le code. Ces types de règles de ne pas exiger de filtre et tester des expressions dans la mesure où elles sont appelées par l'événement RuleSetValidated. Un exemple de ce type d'ensemble de règles dans Visio Premium 2010 est le modèle de flux de travail SharePoint Designer.

Examen des règles existantes

Pour comprendre comment créer vos propres règles, il est utile d'examiner un ensemble de règles existants.

Pour créer une liste des règles existantes

  1. Ouvrez un modèle Basic Flowchart à partir de la catégorie Organigrammes, comme illustré figure 9.

    La figure 9. Modèle Diagramme de flux de base

    Modèle de flux de travail de base

  2. Vérifiez que l'onglet développeur s'affiche dans Visio :

    1. Sous l'onglet Fichier, cliquez sur Options.

    2. Dans la boîte de dialogue Options de Visio, cliquez sur l'onglet Options avancées.

    3. Sous Général, sélectionnez Exécuter en mode développeur.

  3. Ouvrez l'éditeur VBA en cliquant sur Visual Basic sous l'onglet développeur et puis insérez un module dans le projet VBA.

  4. Dans le menu Outils, cliquez sur Références et puis sélectionnez la Bibliothèque d'objets Microsoft Forms 2.0 pour ajouter une référence à cette bibliothèque à votre projet. La bibliothèque d'objets Microsoft Forms fournit un accès à l'objet Clipboard.

    Conseil

    Si vous insérez un objet UserForm dans le projet VBA, il ajoute automatiquement la référence de Microsoft Forms, comme illustré figure 10. Vous pouvez ensuite supprimer l' objet UserForm.

    La figure 10. Référence de Microsoft Forms

    Référence Microsoft Forms

  5. Copiez et collez la sous-routine suivante EnumerateRules() dans le module.

    Public Sub EnumerateRules()
    Dim doc As Visio.Document
    Dim ruleSet As Visio.ValidationRuleSet
    Dim rule As Visio.ValidationRule
    Dim datObj As DataObject
    Dim txt As String
        Set doc = Visio.ActiveDocument
        txt = "EnumerateRulesSets Count = " & doc.Validation.RuleSets.Count
    
        For Each ruleSet In doc.Validation.RuleSets
            If ruleSet.Enabled Then
    
                txt = txt & vbCrLf & "EnumerateRules for RuleSet : " & _
                    ruleSet.nameu & " : Count = " & ruleSet.Rules.Count
                txt = txt & vbCrLf & "ID" & vbTab & "Category" & vbTab & "NameU" & vbTab & _
                    "Description" & vbTab & "TargetType" & vbTab & _
                    "FilterExpression" & vbTab & "TestExpression"
    
                For Each rule In ruleSet.Rules
                    With rule
    
                        txt = txt & vbCrLf & .ID & vbTab & .category & vbTab & .nameu & vbTab & _
                            .description & vbTab & .targettype & vbTab & _
                            .filterexpression & vbTab & .testexpression
                    End With
                Next
            End If
        Next
        Set datObj = New DataObject
        datObj.SetText txt
        datObj.PutInClipboard
    End Sub
    

Cette sous-routine est copiée dans le Presse-papiers toutes les règles de règle activée définit dans le document actif. Vous pouvez ensuite le contenu collé dans Microsoft Excel, par exemple, pour créer une table, comme illustré dans le tableau 4.

Le tableau 4. Activer les ensembles de règles

EnumerateRulesSets Count = 1

EnumerateRules pour l'ensemble de règles : diagramme de flux : Count = 11

ID

Category

NameU

Description

TargetType

FilterExpression

TestExpression

1

Connectivité

Unglued ou se connecter

Connecteur n'est pas collé aux deux extrémités.

0

RÔLE (DE) = 1

AND(AGGCOUNT(GLUEDSHAPES(4)) = 1, AGGCOUNT(GLUEDSHAPES(5))=1)

2

Début / fin

StartWithoutTerminator

Forme de diagramme de flux n'a aucun connecteur entrant et n'est pas une forme Début/fin.

0

AND(OR(HASCATEGORY("Flowchart"),ONLAYER("Flowchart")),NOT(OR(HASCATEGORY("Start/End"),STRSAME(LEFT(MASTERNAME(750),9),"Start/End"),STRSAME(LEFT(MASTERNAME(750),10),"Terminator"))))

AGGCOUNT(GLUEDSHAPES(1)) > 0

3

Début / fin

EndWithoutTerminator

Forme de diagramme de flux n'a aucun connecteur sortant et n'est pas une forme Début/fin.

0

AND(OR(HASCATEGORY("Flowchart"),ONLAYER("Flowchart")),NOT(OR(HASCATEGORY("Start/End"),STRSAME(LEFT(MASTERNAME(750),9),"Start/End"),STRSAME(LEFT(MASTERNAME(750),10),"Terminator"))))

AGGCOUNT(GLUEDSHAPES(2)) > 0

4

Début / fin

NoStartTerminator

Diagramme de flux ne commence pas par une forme Début/fin.

1

AGGCOUNT(FILTERSET(SHAPESONPAGE(), " OR(HASCATEGORY(""Flowchart""),ONLAYER(""Flowchart""))")) > 0

AGGCOUNT(FILTERSET(SHAPESONPAGE(), "AND(OR(HASCATEGORY(""Start/End""),STRSAME(LEFT(MASTERNAME(750),9),""Start/End""),STRSAME(LEFT(MASTERNAME(750),10),""Terminator"")),AGGCOUNT(CONNECTEDSHAPES(2))>0)")) > 0

5

Début / fin

NoEndTerminator

Diagramme de flux ne termine pas par une forme Début/fin.

1

AGGCOUNT(FILTERSET(SHAPESONPAGE(), «OR(HASCATEGORY(""Flowchart""),ONLAYER(""Flowchart""))")) > 0

AGGCOUNT(FILTERSET(SHAPESONPAGE(), "AND(OR(HASCATEGORY(""Start/End""),STRSAME(LEFT(MASTERNAME(750),9),""Start/End""),STRSAME(LEFT(MASTERNAME(750),10),""Terminator"")),AGGCOUNT(CONNECTEDSHAPES(1))>0)")) > 0

6

Connectivité

UnconnectedShape

Forme de diagramme de flux n'est pas connecté aux autres formes.

0

OR(HASCATEGORY("Flowchart"),ONLAYER("Flowchart"))

AGGCOUNT(CONNECTEDSHAPES(0)) > 0

7

Connectivité

TerminatorinMiddle

Forme de début/fin possède des connecteurs à la fois entrants et sortants.

0

OR(HASCATEGORY("Start/End"),STRSAME(LEFT(MASTERNAME(750),9),"Start/End"),STRSAME(LEFT(MASTERNAME(750),10),"Terminator"))

NOT(AND(AGGCOUNT(CONNECTEDSHAPES(1)) > 0,AGGCOUNT(CONNECTEDSHAPES(2)) > 0))

8

Connectivité

TooFewOutConns

Forme de décision doit avoir plus d'un connecteur sortant.

0

OR(HASCATEGORY("Decision"),STRSAME(LEFT(MASTERNAME(750),8),"Decision"))

AGGCOUNT(GLUEDSHAPES(2)) > 1

9

Connectivité

NonFlowchartShape

Forme connectée n'est pas reconnu comme une forme de diagramme de flux.

0

NOT(OR(HASCATEGORY("Flowchart"),ONLAYER("Flowchart")))

AGGCOUNT(GLUEDSHAPES(0)) = 0

10

Texte

NoShapeText

Forme de diagramme de flux n'a aucune étiquette de texte.

0

OR(HASCATEGORY("Flowchart"),ONLAYER("Flowchart"))

NOT(STRSAME(SHAPETEXT(TheText), ""))

11

Croix - fonctionnelle

OutsideCFF

Formes diagramme de flux doivent appartenir à un couloir.

1

AGGCOUNT(FILTERSET(SHAPESONPAGE(),"HASCATEGORY(""swimlane"")")) > 0

AGGCOUNT(FILTERSET(SHAPESONPAGE(),"AND(OR(HASCATEGORY(""Flowchart""),ONLAYER(""Flowchart"")),AGGCOUNT(FILTERSET(PARENTCONTAINERS(),""HASCATEGORY(""""swimlane"""")""))=0)")) = 0

Les formules TestExpressionFilterExpression sont régulières fonctions ShapeSheet, sauf à partir de plusieurs nouvelles fonctions spéciales ajoutées dans Visio 2010 en particulier pour la validation.

Le tableau 5 répertorie les fonctions spéciales qui ressemblent à des fonctions de feuille ShapeSheet et peuvent être utilisées dans les formules TestExpressionFilterExpression.

Le tableau 5. Fonctions FilterExpression et TextExpression

fonction

Description

Role()

Retourne un entier qui indique le rôle de la forme :

  • Élément = 0

  • Connecteur = 1

  • Conteneur = 2

  • Légende = 4

OnLayer(LayerName)

Si elle est appelée sur une forme, cette propriété renvoie une valeur Boolean qui indique si la forme est un membre de la couche spécifiée. Si elle est appelée sur une page, cette propriété renvoie une valeur Boolean qui indique si la couche existe dans la page.

ConnectedShapes(Direction)

Retourne le jeu de formes qui correspondent aux critères Direction et êtes connecté à la forme. La fonction ConnectedShapes ignore les connecteurs, alors que la fonction GluedShapes renvoie les formes de lien eux-mêmes.

La valeur de Direction est une des constantes VisConnectedShapesFlags :

  • visConnectedShapesAllNodes = 0

  • visConnectedShapesIncomingNodes = 1

  • visConnectedShapesOutgoingNodes = 2

GluedShapes(Direction)

Retourne le jeu de formes qui correspondent aux critères Direction et qui sont collées à la forme. La fonction ConnectedShapes ignore les connecteurs, alors que la fonction GluedShapes renvoie les formes de lien eux-mêmes.

La valeur de Direction est une des constantes VisGluedShapesFlags :

  • visGluedShapesAll1D = 0

  • visGluedShapesIncoming1D = 1

  • visGluedShapesOutgoing1D = 2

  • visGluedShapesAll2D = 3

  • visGluedShapesIncoming2D = 4

  • visGluedShapesOutgoing2D = 5

ContainerMembers()

Retourne le jeu de formes qui sont membres de la forme conteneur ou la liste.

ListMembers()

Retourne le jeu de formes qui sont membres de la forme de liste.

Callouts()

Retourne le jeu de formes qui sont des repères sur la forme.

ParentContainers()

Cette propriété renvoie l'ensemble de conteneurs auquel appartient la forme.

ShapesOnPage()

Retourne le jeu de formes de niveau supérieur sur la page. Si aucun spécificateur de page n'antérieure à la fonction, la page contenante de la forme est supposée.

AggCount(Set)

Compte le nombre de formes dans un jeu.

FilterSet(Set,FilterExpression)

Retourne le sous-ensemble de formes dans un jeu qui correspondent à une expression.

OnBoundaryOf()

Cette propriété renvoie l'ensemble de conteneurs de manière à ce que la forme se trouve sur la limite de ces conteneurs.

Création d'un ensemble de règles de

Maintenant que vous comprenez comment les règles sont écrites, vous pouvez créer vos propres jeux de règles personnalisées. Cette section explique comment vous pouvez écrire simple structurée de représenter des règles pour le diagramme Fault Tree Analysis, qui ne possède actuellement aucune règle de validation n'est attaché.

Tout d'abord créer un nouveau Diagramme d'analyse Fault Tree à partir de la catégorie Professionnel, comme le montre la figure 11.

La figure 11. Diagramme d'arborescence Analysis panne

Diagramme analyse par arbre de défaillance

Plus tard, vous allez ajouter du code VBA dans le projet VBA de ce nouveau document.

Analyse des besoins des

La première tâche consiste à comprendre les formes que vous pouvez utiliser dans la construction du type de schéma.

Faites glisser toutes les formes de base à partir du gabarit Fault Tree Analysis Shapes et les déposer sur la page vierge. Ensuite, ouvrir les fenêtres de Gabarit de document et Explorateur de dessins (sous l'onglet Developer) pour voir quelles couches de formes sont activées par défaut. Comme vous pouvez le voir à la figure 12, le lien dynamique se trouve sur la couche de Connecteur, et tous les autres formes se trouvent dans la couche de Organigrammes.

La figure 12. Couches de la forme

Couches Forme

Vous pouvez également vérifier les formes pour voir s'ils contiennent des lignes de données de forme (ces formes de base particulières ne pas).

Ensuite, vous pouvez grouper les formes de base par l'utilisation. Dans ce cas, il existe six symboles de jalon, cinq symboles de l'événement, un symbole de transfert et d'un connecteur.

Vous pouvez maintenant commencer à réfléchir sur les règles de base que vous souhaitez créer. La liste suivante montre un jeu d'exemple de règles :

  • Chaque connecteur doit être connecté à une forme à chaque extrémité.

  • Toutes les formes événement doivent être placées.

  • Toutes les formes FTA (Fault Tree Analysis) doivent être connecté à une autre forme FTA.

  • Un événement non développé ne doit comporter toutes les connexions vers l'extérieur.

  • Chaque forme de grille doit avoir qu'une seule entrée.

  • Chaque jalon, à l'exception de la porte de la désactivation, doit avoir au moins deux sorties.

  • Une porte de la désactivation doit disposer d'une connexion vers l'extérieur.

  • Chaque jalon, à l'exception de la porte de la désactivation, devez vous connecter à des événements au moins trois.

  • Un symbole de transfert doit avoir qu'une seule connexion.

Pour créer certaines de ces règles, vous devez préciser ce que d'une forme valide est.

Tout d'abord, déterminez si toutes les formes valides sont sur la couche de Organigrammes. Vous pouvez utiliser la fonction de )LayerNameOnLayer( pour vérifier cela.

Ensuite, déterminez les noms des formes de base. Vous pouvez utiliser la fonction de )langid_optMasterName( pour cela, mais vous devez exercer un peu d'attention. C'est pourquoi il est facile pour un utilisateur de créer accidentellement des formes de base en double dans un document, dans lequel Visio casse entraînera automatiquement le nom principal en double pour être uniques en ajoutant un point et un nombre. Par conséquent, vous devez modifier le test soit StrSame(Left(MasterName(750),n),Name), où 750 est le code du langage universel, est le nom de la forme de base à contrôler, et n est le nombre de caractères contenus dans le nom.

Dans les modèles de diagramme de flux qui ont déjà des règles fournies, les formes de base ont été modifiés pour inclure une cellule de défini par l'utilisateur supplémentaire User.msvShapeCategories, qui peut contenir une liste de catégories auxquelles appartient la forme. Vous pouvez ensuite utiliser la fonction nouveau HasCategory(CategoryName), au lieu de la fonction MasterName(), comme un test. Si vous créez un modèle qui contient vos propres formes de base, vous avez la possibilité d'ajouter User.msvShapeCategories à vos formes de base.

Ajout d'un ensemble de règles

Tout d'abord, vous devez créer une règle pour les règles appartiennent à la valeur. La procédure de code suivante, AddRuleSet(), ajoute l'ensemble de règles Fault Tree Analysis ou met à jour s'il existe déjà. Il est suivi par une procédure de prise en charge, getRuleSet(), qui est utilisée pour déterminer s'il existe une règle nommée. Retourne l'objet Ruleset si elle existe ; sinon, elle retournera Nothing.

Public Sub AddRuleSet()
' Add a validation rule set to the document.
' Edit the nameU to suit.
Dim doc As Visio.Document
Dim ruleSet As Visio.ValidationRuleSet
Dim nameU As String
    nameU = "Fault Tree Analysis"
    Set doc = Visio.ActiveDocument
    ' Check whether the rule set already exists.
    Set ruleSet = getRuleSet(doc, nameU)
    If ruleSet Is Nothing Then
        ' Create the new rule set.
        Set ruleSet = doc.Validation.RuleSets.Add(nameU)
    End If
    ruleSet.description = "Example Fault Tree Analysis rule set."
    ruleSet.Enabled = True
    ruleSet.RuleSetFlags = Visio.VisRuleSetFlags.visRuleSetDefault
End Sub

Private Function getRuleSet(ByVal doc As Visio.Document, _
    ByVal nameU As String) As Visio.ValidationRuleSet
' Return a named rule set or nothing.
Dim retVal As Visio.ValidationRuleSet
Dim ruleSet As Visio.ValidationRuleSet
    Set retVal = Nothing
    For Each ruleSet In doc.Validation.RuleSets
        If UCase(ruleSet.nameU) = UCase(nameU) Then
            Set retVal = ruleSet
            Exit For
        End If
    Next
    Set getRuleSet = retVal
End Function

Suppression d'un ensemble de règles

Vous pouvez utiliser le code DeleteRuleSet() suit pour supprimer une règle indésirable d'un ensemble de règles.

Public Sub DeleteRuleSet()
' Delete a rule set from the active document.
' Edit the ruleSetNameU value to suit.
Dim doc As Visio.Document
Dim nameU As String
    nameU = "Fault Tree Analysis"
    Set doc = Visio.ActiveDocument
    ' Check whether the rule set already exists.
    If Not getRuleSet(doc, nameU) Is Nothing Then
        ' Delete the rule set.
        doc.Validation.RuleSets.Item(nameU).Delete
    End If
End Sub

Ajout d'une règle

L'exemple de procédure de code suivant montre comment ajouter une règle à un ensemble de règles.

Public Sub AddRule()
' Add a rule to named rule set.
' Edit nameU and the addARule arguments to suit.
Dim doc As Visio.Document
Dim ruleSet As Visio.ValidationRuleSet
Dim nameU As String
    nameU = "Fault Tree Analysis"
    Set doc = Visio.ActiveDocument
    ' Check whether the rule set already exists.
    Set ruleSet = getRuleSet(doc, nameU)
    If ruleSet Is Nothing Then
        Exit Sub
    End If
    ' Add the rule.
    addARule ruleSet, "Connectivity", "UngluedConnector", _
            "Connector is not glued at both ends.", 0, _
            "ROLE()=1", _
            "AND(AGGCOUNT(GLUEDSHAPES(4)) = 1, AGGCOUNT(GLUEDSHAPES(5)) = 1)"
End Sub

Private Function getRule(ByVal ruleSet As Visio.ValidationRuleSet, _
    ByVal nameU As String) As Visio.ValidationRule
' Return a named rule or nothing.
Dim retVal As Visio.ValidationRule
Dim rule As Visio.ValidationRule
    Set retVal = Nothing
    For Each rule In ruleSet.Rules
        If UCase(rule.nameU) = UCase(nameU) Then
            Set retVal = rule
            Exit For
        End If
    Next
    Set getRule = retVal
End Function

Private Sub addARule(ByVal ruleSet As Visio.ValidationRuleSet, _
    ByVal category As String, ByVal nameU As String, _
    ByVal description As String, ByVal targetType As Integer, _
    ByVal filterExpression As String, ByVal testExpression As String)
    ' Add or update a validation rule in the document.
Dim rule As Visio.ValidationRule
    Set rule = getRule(ruleSet, nameU)
    If rule Is Nothing Then
        Set rule = ruleSet.Rules.Add(nameU)
    End If
    rule.category = category
    rule.description = description
    rule.Ignored = False
    rule.targetType = targetType
    rule.filterExpression = filterExpression
    rule.testExpression = testExpression
    ' Flush existing issues to ensure re-validation.
    ruleSet.Document.Validation.Issues.Clear
End Sub

Suppression d'une règle

Vous pouvez utiliser le code DeleteRule() suit pour supprimer une règle indésirable à partir d'un ensemble de règles.

Public Sub DeleteRule()
' Delete a rule from a rule set.
' Edit ruleSetNameU and ruleNameU to suit.
Dim ruleSetNameU As String
Dim ruleSet As Visio.ValidationRuleSet
    ruleSetNameU = "Fault Tree Analysis"
    Set ruleSet = getRuleSet(Visio.ActiveDocument, ruleSetNameU)
    If ruleSet Is Nothing Then
        Exit Sub
    End If
    
Dim ruleNameU As String
    ruleNameU = "UngluedConnector"
    
    ' Check whether the rule already exists.
    If Not getRule(ruleSet, ruleNameU) Is Nothing Then
        ' Delete the rule.
        ruleSet.Rules.Item(ruleNameU).Delete
    End If
End Sub

Ajout d'une règle à partir du Presse-papiers

Pour ajouter une règle à un ensemble de règles, la AddRule() procédure illustrée précédemment fonctionne correctement. Toutefois, vous devez modifier la procédure pour obtenir plus de règles, ou copier la procédure, légèrement le renommer et ensuite modifier les arguments de la procédure addARule(). Si vous utilisez cette approche, vous aurez de nombreuses variations de la procédure AddRule() dans votre module.

Toutefois, vous pouvez également, vous pouvez entrer les arguments dans une table Microsoft Excel, dans un format similaire à la sortie dans la méthode EnumerateRulesets() répertoriée précédemment. Vous pouvez ensuite modifier vos arguments, en particulier les expressions de filtre et de test, dans une cellule Excel, comme illustré figure 13.

La figure 13. Modifier les arguments dans Excel

Modification des arguments dans Excel

Puis utilisez le code suivant pour ajouter des règles à partir de Excel à votre dessin. Notez que cette méthode fonctionne sur plusieurs lignes, mais elle suppose qu'une ligne d'en-tête existe et qu'il a lieu postérieurement à cette ligne en partant de la ligne 2. Si votre feuille de calcul n'a pas d'une ligne d'en-tête, ajuster le code en conséquence.

' Adds rules to named rule set from Excel.
' To use this in a VBA project, add a reference to the "Microsoft Excel 14.0 Object Library".
Public Sub AddRulesFromExcel()

    Dim xlWorkbook As Excel.Workbook
    Dim doc As Visio.Document
    Dim ruleSet As Visio.ValidationRuleSet
    Dim nameu As String
    nameu = "Fault Tree Analysis"
    
    Dim category As String
    Dim rulenameu As String
    Dim description As String
    Dim targettype As String
    Dim filterexpression As String
    Dim testexpression As String
    
    Const categoryCol As Integer = 2
    Const rulenameCol As Integer = 3
    Const descriptionCol As Integer = 4
    Const targettypeCol As Integer = 5
    Const filterexpressionCol As Integer = 6
    Const testexpressionCol As Integer = 7
    
    Set doc = Visio.ActiveDocument
    
    ' Check whether the rule set exists already.
    Set ruleSet = GetRuleSet(doc, nameu)
    If ruleSet Is Nothing Then
        Exit Sub
    End If
    
    ' Get data from Excel.
    ' Assumes you have created an Excel spreadsheet at the path shown, that contains the rules you want to add,
    ' and with columns that correspond to the constants declared in this subroutine.
    Dim xlApp As New Excel.Application

    Set xlWorkbook = xlApp.Workbooks.Open("C:\Users\username\Documents\RuleList.xlsx")
    
    On Error GoTo AddRulesFromExcel_Err

    Dim xlWorkSheet As Excel.Worksheet
    Set xlWorkSheet = xlWorkbook.Worksheets(1)
    
    Dim numRows As Integer
    numRows = xlWorkSheet.UsedRange.Rows.Count
    
    ' Assumes that a header row exists and skips over it.
    For xlRow = 2 To numRows
    
        category = xlWorkSheet.Cells(xlRow, categoryCol)
        rulenameu = xlWorkSheet.Cells(xlRow, rulenameCol)
        description = xlWorkSheet.Cells(xlRow, descriptionCol)
        targettype = xlWorkSheet.Cells(xlRow, targettypeCol)
        filterexpression = xlWorkSheet.Cells(xlRow, filterexpressionCol)
        testexpression = xlWorkSheet.Cells(xlRow, testexpressionCol)
   
        addARule ruleSet, category, rulenameu, description, targettype, filterexpression, testexpression
        
    Next xlRow
   
  
AddRulesFromExcel_Err:
    If (Err.Number) Then
        Debug.Print Err.description
    End If
    
    xlWorkbook.Close
    xlApp.Quit
 
End Sub

Exemple : Création d'une règle d'analyse arbre de défaillance Set

Cette section décrit un ensemble de règles exemple neuf, comme présenté dans la section Création d'un ensemble de la nouvelle règle, que vous pouvez appliquer à un diagramme FTA (Fault Tree Analysis). Vous pouvez utiliser une procédure précédemment décrite, AddRule() ou AddRuleFromExcel() — pour ajouter chaque règle est répertoriée dans cette section.

Les paramètres sont répertoriés dans l'ordre correct pour la copie et collage dans Excel. Vous pouvez utiliser la commande Transposé dans Excel pour basculer la disposition de chaque règle de la verticale à horizontale. Copier la règle dans Excel, appuyez sur CTRL + C pour copier la plage collée, cliquez sur la sélection et puis, sous Options de collage, cliquez sur Transposé.

Règle 1: Chaque connecteur doit être connecté à une forme à chaque extrémité.

La règle de diagramme de flux dans Diagramme de flux simple de dessin déjà la valeur est une seule règle. Par conséquent, vous pouvez copier la règle 1 à partir de cet ensemble de règles par défaut.

Category

Connectivité

NameU

UngluedConnector

Description

Connecteur n'est pas collé aux deux extrémités.

TargetType

0

FilterExpression

RÔLE (DE) = 1

TestExpression

AND(AGGCOUNT(GLUEDSHAPES(4)) = 1, AGGCOUNT(GLUEDSHAPES(5)) = 1)

La valeur FilterExpression signifie que les formes uniquement unidimensionnel (1D) doivent être testés. La valeur TestExpression vérifie qu'une seule forme de deux dimensions (2D) est collée aux deux extrémités du connecteur. La valeur TargetType pour cette règle (et pour toutes les autres règles dans cet article) est la valeur par défaut visRuleTargetShape.

La figure 14. Chaque lien doit être collé aux deux extrémités

Les connecteurs doivent être collés aux deux extrémités

Règle 2: Chaque forme d'événements doit être placée.

La règle de diagramme de flux également la valeur contient une règle nommée NoShapeText. Pour cet exemple de règle définie, modifiez la valeur de Description en événements forme ne a aucune étiquette de texte.

Vous devez modifier la valeur FilterExpression, car les formes FTA ne contiennent pas de la cellule de feuille ShapeSheet défini par l'utilisateur appelée catégories. Par conséquent, vous devez vérifier les noms en particulier, au lieu d'utiliser la fonction HasCategory() maître. La valeur TestExpression détermine s'il y a aucun texte dans la forme.

Category

Texte

NameU

NoShapeText

Description

Forme de l'événement n'a aucune étiquette de texte.

TargetType

0

FilterExpression

OR (STRSAME (LEFT (MASTERNAME (750) 11), «Base d'événement»), STRSAME (LEFT (MASTERNAME (750) 17), "Événement non développé"), STRSAME (LEFT (MASTERNAME (750), 5), «Événement»), STRSAME (LEFT (MASTERNAME (750) 11), "Événement House"), STRSAME (LEFT (MASTERNAME (750) 17), "Événement conditionnel")))

TestExpression

NOT(STRSAME(SHAPETEXT(TheText), ""))

Pour vérifier que cette règle fonctionne, vous pouvez choisir d'ignorer la première règle, UngluedConnector, en un clic droit sur la première règle dans la fenêtre de Problèmes, cliquez sur Ignorer cette règle, puis en cliquant sur Vérifier le diagramme.

La figure 15. Forme de l'événement n'a aucune étiquette texte

La forme Événement n’a pas d’étiquette texte

Règle 3: Chaque forme FTA doit être connecté à une autre forme FTA.

Comme dans les deux premières règles, vous pouvez copier cette règle (UnconnectedShape) à partir de l'ensemble de règles de diagramme de flux simple. Modifiez la valeur de Description en forme FTA n'est pas connecté aux autres formes.

Comme vous l'avez fait avec la règle NoShapeText, vous devrez peut-être modifier la valeur FilterExpression, mais maintenant il doit vérifier uniquement l'association de calque. La valeur TestExpression vérifie qu'il existe des formes connectées.

Vous pouvez éventuellement développer cette règle doit spécifier des noms pour les formes de base qui sont connectés.

Category

Connectivité

NameU

UnconnectedShape

Description

Forme FTA n'est pas connecté aux autres formes.

TargetType

0

FilterExpression

ONLAYER("Flowchart")

TestExpression

AGGCOUNT(CONNECTEDSHAPES(0)) > 0

Vous pouvez tester cette règle en les connectant de façon aléatoire diverses formes FTA.

La figure 16. Forme FTA n'est pas connecté à aucune autre forme

La forme FTA n’est connectée à aucune autre forme

Règle de 4: Un événement non développé ne devez pas toutes les connexions vers l'extérieur.

Il n'y a aucun ensemble de règles existant à partir de laquelle vous pouvez copier cette règle, afin d'avoir à écrire vos propres règles.

La valeur FilterExpression vérifie qu'une forme non développé à l'événement doit être testée. La valeur TestExpression vérifie qu'il n'existe aucun connecteur collé vers l'extérieur.

Category

Connectivité

NameU

UndevelopedEventHasConnectionOut

Description

Forme Undeveloped événement ne doit pas avoir de n'importe quel connecteur vers l'extérieur.

TargetType

0

FilterExpression

STRSAME (LEFT (MASTERNAME (750) 17), "Événement non développé")

TestExpression

AGGCOUNT(GLUEDSHAPES(2)) = 0

Vous devez maintenant tester votre règle en collant un lien vers l'extérieur à une forme de l'événement non développé.

La figure 17. Événement non développé ne doit pas avoir un connecteur vers l'extérieur

Aucun connecteur sortant pour les événements non développés

Règle de 5: Chaque forme de grille doit avoir qu'une seule entrée.

La valeur FilterExpression vérifie l'association de calque et vérifie que toutes les formes de portes sont essayés. La TestExpression vérifie qu'il y a un seul connecteur collé vers l'intérieur.

Category

Connectivité

NameU

GateHasNoConnectionIn

Description

Forme de grille doit disposer d'une connexion vers l'intérieur.

TargetType

0

FilterExpression

AND (ONLAYER ("Flowchart") OR (STRSAME (LEFT (MASTERNAME (750), 7), opérateur «ou à»), STRSAME (LEFT (MASTERNAME (750), 8), «AND opérateur»), STRSAME (LEFT (MASTERNAME (750) 17), «Opérateur Priority et»), STRSAME (LEFT (MASTERNAME (750) 17), «Grille de exclusive OR»), STRSAME (LEFT (MASTERNAME (750) 11), «Grille de vote»), STRSAME (LEFT (MASTERNAME (750), 12), «Désactivation porte»)))

TestExpression

AGGCOUNT(GLUEDSHAPES(1)) = 1

Vous pouvez tester la règle en ajoutant plus d'un connecteur vers l'intérieur d'une forme de grille ou en n'ayant aucun lien vers l'intérieur du tout.

La figure 18. Forme de grille doit disposer d'une connexion vers l'intérieur

La forme Portail doit avoir une connexion interne

Règle de 6: Chaque jalon, à l'exception de la porte de la désactivation, doit avoir au moins deux sorties.

La valeur FilterExpression vérifie l'association de calque et vérifie que toutes les formes de la grille sont essayés. La valeur TestExpression vérifie qu'il existe au moins deux connecteurs collés vers l'extérieur.

Category

Connectivité

NameU

GateWithoutAtLeastTwoOutputs

Description

Forme de porte présente moins de deux connecteurs vers l'extérieur.

TargetType

0

FilterExpression

AND (ONLAYER ("Flowchart") OR (STRSAME (LEFT (MASTERNAME (750), 7), opérateur «ou à»), STRSAME (LEFT (MASTERNAME (750), 8), «AND opérateur»), STRSAME (LEFT (MASTERNAME (750) 17), «Opérateur Priority et»), STRSAME (LEFT (MASTERNAME (750) 17), «Grille de exclusive OR»), STRSAME (LEFT (MASTERNAME (750) 11), «Grille de vote»)))

TestExpression

AGGCOUNT(GLUEDSHAPES(2)) > 1

Vous pouvez tester la règle en ajoutant le moins de deux connecteurs vers l'extérieur d'une forme de grille.

La figure 19. Forme de grille a moins de deux connecteurs vers l'extérieur

La forme Portail a moins de deux connecteurs externes

Règle de 7: Une porte de la désactivation doit avoir une connexion vers l'extérieur.

La FilterExpression vérifie qu'une forme de grille désactivation doit être testée. La TestExpression vérifie qu'il y a qu'un seul connecteur collé vers l'extérieur.

Category

Connectivité

NameU

InhibitGateNeedsOneOutput

Description

Inhiber la forme de grille doit avoir un seul connecteur vers l'extérieur.

TargetType

0

FilterExpression

STRSAME (LEFT (MASTERNAME (750), 12), «Désactivation porte»)

TestExpression

AGGCOUNT(GLUEDSHAPES(2)) = 1

Vous pouvez tester la règle en ajoutant plus d'un connecteur vers l'extérieur d'une forme de grille de désactivation.

Figure 20. Inhiber la forme de grille doit avoir un seul connecteur vers l'extérieur

Une seule connexion sortante pour l’opérateur d’inhibition

Règle de 8: Un jalon, à l'exception de la porte de la désactivation, doit être connecté au moins trois événements.

La valeur FilterExpression vérifie qu'une forme jalon autre qu'une forme de grille désactivation doit être testée. La valeur TestExpression vérifie qu'il existe au moins trois événements connectés.

Category

Connectivité

NameU

GateMustConnectAtLeastThreeEvents

Description

Forme de grille a moins de trois événements connectés.

TargetType

0

FilterExpression

OR (STRSAME (LEFT (MASTERNAME (750), 7), opérateur «ou à»), STRSAME (LEFT (MASTERNAME (750), 8), «AND opérateur»), STRSAME (LEFT (MASTERNAME (750) 17), «Opérateur Priority et»), STRSAME (LEFT (MASTERNAME (750) 17), «Grille de exclusive OR»), STRSAME (LEFT (MASTERNAME (750) 11), «Grille de vote»))

TestExpression

AGGCOUNT(FILTERSET(CONNECTEDSHAPES(0), "OR (STRSAME (LEFT (MASTERNAME (750) 11),""événement base" "), STRSAME (LEFT (MASTERNAME (750) 17),""non développé un événement" "), STRSAME (LEFT (MASTERNAME (750), 5),""Event" "), STRSAME (LEFT (MASTERNAME (750) 11),""événement House" "), STRSAME (LEFT (MASTERNAME (750) 17),""conditionnelle event" "))")) > 2

Vous pouvez tester la règle en ajoutant le moins de trois connecteurs pour toutes les formes de la grille.

Figure 21. Forme de grille a moins de trois événements connectés

La forme Portail a moins de trois connecteurs externes

Règle de 9: Un symbole de transfert doit avoir qu'une seule connexion.

La valeur FilterExpression vérifie l'association de calque et vérifie qu'une forme de symbole de transfert doit être testée. La valeur TestExpression vérifie qu'il y a qu'un seul connecteur collé.

Category

Connectivité

NameU

Transfert

Description

Forme de symbole de transfert doit avoir un seul connecteur.

TargetType

0

FilterExpression

AND (ONLAYER ("diagramme de flux»), STRSAME (LEFT (MASTERNAME (750), 15),"Symbole transfert"))

TestExpression

AGGCOUNT(GLUEDSHAPES(0)) = 1

Vous pouvez tester la règle en ajoutant plusieurs connecteurs pour un symbole de transfert, ou en n'ayant aucun connecteur du tout.

La figure 22. Forme de symbole de transfert doit avoir un seul connecteur

La forme de symbole de transfert doit avoir un connecteur

Règles de publication

Les ensembles de règles sont enregistrés dans des documents Visio ou modèles. Par exemple, vous pouvez enregistrer votre document FTA vide en tant que Rules.vsd de validation arbre de défaillance. Indépendamment de si vous utilisez un document ou modèle, n'importe quel dessin en fonction de votre fichier contient votre ensemble de règles. Une fois que vous utilisez du code VBA pour ajouter les règles dans le fichier, vous pouvez supprimer en toute sécurité que le code pour réduire la taille de votre fichier de dessin et d'éviter la nécessité d'activer les macros dans les dessins créés à partir de votre modèle.

Vous pouvez également, vous pouvez ouvrir un existant ou un nouveau dessin et puis importez la règle définie en cliquant sur la flèche de la Vérifier le diagramme, pointez sur Importer les règles de, et puis en sélectionnant la règle définie (comme illustré figure 23).

Figure 23. Importation d'un ensemble de règles

Importation d’un ensemble de règles

Conclusion

Cet article explique comment analyser les règles de validation existantes dans Visio Premium 2010 et comment faire pour utiliser l'API de validation pour créer vos propres règles et de la règle affecte à valider des diagrammes. À l'aide de l'API de validation, vous pouvez modifier des règles existantes, ou vous pouvez créer des règles complexes et ensembles de règles dans le code pour valider la logique de schéma personnalisé.

ressources supplémentaires

Pour plus d'informations sur la validation de schéma dans Visio 2010, consultez les ressources suivantes.

Blog de perspectives de Visio

bVisual Blog

MSDN Library

À propos de l’auteur

Ariane j. de David est à Visio MVP et le propriétaire de bVisual Ltd (éventuellement en anglais). Il écrit des solutions de visualisation des données, principalement à l'aide de Visio et mappages Bing.

David a écrit un blog régulier à propos de Visio à bvisual.spaces.live.com (éventuellement en anglais), et il est l'auteur de Visualisation des informations avec Microsoft Visio 2007 (éventuellement en anglais). Il a terminé juste un nouvel annuaire, et validation de schémas de processus professionnels de Microsoft Visio 2010 (éventuellement en anglais), pour Packt Publishing.

Notes

Avertissement traduction automatique : cet article a été traduit par un ordinateur, sans intervention humaine. Microsoft propose cette traduction automatique pour offrir aux personnes ne maîtrisant pas l’anglais l’accès au contenu relatif aux produits, services et technologies Microsoft. Comme cet article a été traduit automatiquement, il risque de contenir des erreurs de grammaire, de syntaxe ou de terminologie.