Partager via


GraphicItem.SetExpression, méthode (Visio)

Définit la valeur de la chaîne d’expression qui fait partie de la règle d’un objet GraphicItem , par rapport à laquelle les données de forme (propriétés personnalisées) sont évaluées.

Remarque

Cet objet ou ce membre Visio est disponible uniquement pour les titulaires d’une licence d’utilisation de Visio Professionnel 2013.

Syntaxe

expression. SetExpression( _Field_ , _Expression_ )

Expression Expression qui renvoie un objet GraphicItem .

Parameters

Nom Requis/Facultatif Type de données Description
Field Requis VisGraphicField L'étiquette ou la formule du champ de données principal (colonne) affectée à GraphicItem. Les valeurs possibles, reportez-vous à la section Remarques.
Expression Obligatoire String L'expression ShapeSheet associée au paramètre Field.

Valeur renvoyée

Aucune

Remarques

Le paramètre Field doit être une des valeurs suivantes de l’énumération VisGraphicField, déclarée dans la bibliothèque de types de Microsoft Visio.

Constante Valeur Description
visGraphicPropertyLabel 1 Étiquette d'un élément de données de graphique.
visGraphicExpression 2 Formule ShapeSheet d'un élément de données de graphique.

Lorsque vous passez à la méthode SetExpression une étiquette shape-data-item (autrement dit, lorsque vous passez visGraphicPropertyLabel pour le paramètre Field), vous devez placer l’étiquette entre accolades ({}). Par exemple, si vous souhaitez transmettre le nom de l'élément de données de forme « Coût », vous devez l'écrire ainsi : {Coût}.

Référencez les données de forme d’une forme autre que celle à laquelle le graphique de données est appliqué en passant le nom de la forme suivi d’un point d’exclamation (!) puis le nom du champ. Par exemple, dans l'exemple ci-dessous, vous pourriez utiliser la syntaxe suivante pour référencer la largeur de la forme appelée Ellipse.34 :

vsoGraphicItem.SetExpression visGraphicExpression, "Ellipse.34!Width"

Avant de pouvoir modifier un élément graphique, y compris définir sa chaîne d’expression, vous devez utiliser la méthode Master.Open à ouvrir pour modifier une copie de la forme de base du graphique de données dont la collection GraphicItems appartient. Une fois que vous avez défini l’expression de l’élément graphique et effectué les modifications souhaitées, utilisez la méthode Master.Close pour valider ces modifications.

Exemple

La macro Microsoft Visual Basic pour Applications (VBA) ci-dessous illustre comment utiliser la méthode SetExpression pour obtenir la valeur de la chaîne d'expression d'un élément de graphique de données. Il ouvre une copie de l’objet Master de type visTypeDataGraphic (communément appelé graphique de données) nommé « Graphique de données », puis définit l’expression du premier élément graphique dans la collection GraphicItems du graphique de données pour afficher la largeur de toute forme à laquelle le graphique de données est appliqué.

Remarque

Vous pouvez déterminer le nom d'une forme de base de graphique existante en déplaçant la souris sur cette forme de base dans le volet Office Graphiques de données de l'interface utilisateur de Visio.

Elle ferme ensuite la forme de base et utilise la méthode GetExpression pour récupérer l'expression appliquée en dernier pour l'élément graphique. Enfin, elle affiche le type de champ et la valeur de l'expression dans la fenêtre Exécution.

La macro suppose qu’un graphique de données nommé « Graphique de données » existe dans le document actif. Pour plus d’informations sur l’ajout d’une forme de base de graphique de données à la collection Masters du document actif, consultez Masters.AddEx.

Public Sub SetExpression_Example() 
 
    Dim vsoMaster As Visio.Master 
    Dim vsoMasterCopy As Visio.Master 
    Dim vsoGraphicItem As Visio.GraphicItem 
    Dim strExpression As String 
    Dim fieldType As VisGraphicField 
 
    Set vsoMaster = Visio.ActiveDocument.Masters("Data Graphic") 
    Set vsoMasterCopy = vsoMaster.Open 
    Set vsoGraphicItem = vsoMasterCopy.GraphicItems(1) 
       
    vsoGraphicItem.SetExpression visGraphicExpression, "Width" 
    vsoMasterCopy.Close 
     
    vsoMaster.GraphicItems(1).GetExpression fieldType, strExpression 
     
    Debug.Print "Field type is "; fieldType 
    Debug.Print "Expression is "; strExpression 
     
End Sub

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.