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.