Classe ShapeNode - géométrie (Excel VBA)

Cet objet représente la géométrie et les propriétés de modification de la géométrie des nœuds d'une forme libre définie par l'utilisateur. Pour utiliser une variable de classe ShapeNode, elle doit d'abord être instanciée, par exemple


Dim shpn as ShapeNode
Set shpn = ActiveChart.OLEObjects.ShapeRange.Nodes(Index:=1)

For Each

Voici un exemple de traitement des éléments ShapeNode dans une collection


Dim shpnNode As ShapeNode
For Each shpnNode In ActiveChart.OLEObjects.ShapeRange.Nodes
	
Next shpnNode

EditingType

Si le nœud spécifié est un sommet, cette propriété renvoie une valeur qui indique comment les modifications apportées au nœud affectent les deux segments connectés au nœud. En lecture seule MsoEditingType.

Cette propriété est en lecture seule. Utilisez la méthode SetEditingType pour définir la valeur de cette propriété.


Dim metEditingType As Office.MsoEditingType
metEditingType = ActiveChart.OLEObjects.ShapeRange.Nodes(1).EditingType

Points

Renvoie la position du nœud spécifié en tant qu'une paire de coordonnées. Chaque coordonnée est exprimée en points. Type de données Variant en lecture seule.

Cette propriété est en lecture seule. Utilisez la méthode SetPosition pour définir la valeur de cette propriété.


Set myDocument = Worksheets(1) 
With myDocument.Shapes(3).Nodes 
 pointsArray = .Item(2).Points 
 currXvalue = pointsArray(1, 1) 
 currYvalue = pointsArray(1, 2) 
 .SetPosition 2, currXvalue + 200, currYvalue + 300 
End With

SegmentType

Cette propriété renvoie une valeur qui indique si le segment associé au nœud spécifié est un segment de droite ou de courbe. Si le nœud spécifié est le point de contrôle d'un segment de courbe, la propriété renvoie msoSegmentCurve. En lecture seule MsoSegmentType.

Utilisez la méthode SetSegmentType pour définir la valeur de cette propriété.


Dim mstSegmentType As Office.MsoSegmentType
mstSegmentType = ActiveChart.OLEObjects.ShapeRange.Nodes(1).SegmentType