Ces quelques lignes de code en Visual Basic Script permettent de modifier l’affichage des symboles apparaissant sur les diagramme si la table ou les colonnes de cette table ont un commentaire.
Compatible avec PowerDesigner/PowerAMC 16.5
'****************************************************************************** '* Nom du fichier : MODIFIER_COULEUR_SYMBOLE_SI_COMMENTAIRE.vbs '* Définition : Modifier la couleur du symbole (Table) si la table ou l'une de '* ses colonnes a un commentaire '* Modèle: Modèle de données physique (PDM) '* Objets: Diagramme, Table '* Auteur: Benoît Le Nabec '* URL : http://www.Powerd911.guru '* Créé: 2015-01-01 '* Version: 1.0 '****************************************************************************** Dim model Set model = ActiveModel ' Boucle pour toute les tables dans le modèle For each table in model.Tables doPaint = false ' Retire les espaces tableComment = Trim( table.Comment ) ' Existe t'il un commentaire pour la table ? if ( "" <> tableComment ) then doPaint = true end if ' Si nous avons détecté un commentaire au niveau de la table if ( doPaint ) then ' Modifier la couleur du symbole For each symbol in table.Symbols 'Set Brush Style. The brush style can have following values: 1=solid (the default), 2=Hatch, 3=Pattern, 4=No brush, 5=Picture, 6=Gradient, 7=Picture and gradient. symbol.BrushStyle = 6 'Gradient 'Set Horizontal/Vertical Gradient Fil Mode and Gradient Mode symbol.GradientFillMode = 32 ' Set Orange Color symbol.FillColor = RGB( 252, 178, 104 ) ' Set White Color as End Color symbol.GradientEndColor = RGB( 255, 255, 255 ) Next end if do_paint_columns Next ' Rafraichissement du diagramme courant ActiveDiagram.RedrawAllViews() '****************************************************************************** '* Nom de la fonction : MODIFIER_COULEUR_SYMBOLE_COLONNE '* Définition : Modifier la police, la couleur, la taille le style, etc. du nom '* des colonnes qui ont un commentaire '* Modèle: Modèles de données physique (PDM) '* Objets: Diagramme, Colonne '* Auteur: Benoît Le Nabec '* URL : http://www.Powerd911.guru '* Créé: 2015-01-01 '* Version: 1.0 '****************************************************************************** sub do_paint_columns Dim cmpt cmpt = 0 For each symbol in table.symbols ' Aucun formattage particulier symbol.SubObjects = Nothing ' Vérifie pour chacune des colonnes si nous avons des commentaires For each column in table.Columns ' Retire les espaces comment = Trim( column.Comment ) ' Existe t'il un commentaire pour la colonne ? if ( "" <> comment ) then cmpt = cmpt + 1 ' Est-ce la première colonne ayant un commentaire? if cmpt = 1 then ' On indique que l'on désire modifier le format de l'objet "Column" ' State=0: Display all;1: Display none;2: Display some symbol.SubObjects = " Column 0" end if 'Police, Taille, Style, Couleur (R,G,B) symbol.SubObjects = symbol.SubObjects & vbCrLf & column.ObjectID & " Bauhaus 93,8,B,255,0,0" end if Next Next end sub
Merci de mettre ce script à notre disposition!