Classe ShapeNodes (PowerPoint VBA)
Collection de tous les objets ShapeNode de la forme libre spécifiée.
Pour utiliser une variable de classe ShapeNodes, elle doit d'abord être instanciée, par exemple
Dim sns as ShapeNodes
Set sns = ActiveWindow.RangeFromPoint.Nodes
Les procédures suivantes peuvent être utilisés pour définir des variables de la classe ShapeNodes : Shape.Nodes et ShapeRange.Nodes.
Count
Renvoie le nombre d'objets de la collection spécifiée. En lecture seule.
Dim lngCount As Long
lngCount = ActiveWindow.RangeFromPoint.Nodes.Count
Delete
Cette méthode supprime le nœud d’une forme.
Le segment qui suit le nœud d’index est également supprimé. Si le nœud est un point de contrôle d’une courbe, la courbe et tous ses nœuds sont supprimés.
Delete (Index)
Index: Spécifie le nœud à supprimer.
Dim lngIndex As Long: lngIndex =
ActiveWindow.RangeFromPoint.Nodes.Delete Index:=lngIndex
Insert
Insère un nouveau segment à la suite du nœud spécifié dans la forme libre.
La valeur du paramètre SegmentType peut être l’une de ces constantes MsoSegmentType .
Insert (Index, SegmentType, EditingType, X1, Y1, X2, Y2, X3, Y3)
Dim lngIndex As Long: lngIndex =
ActivePresentation.Slides(1).Shapes(1).Nodes.Insert Index:=lngIndex, SegmentType:=msoSegmentLine, EditingType:=msoEditingAuto, X1:=210, Y1:=100
Arguments
Les arguments nommés :
Index
(Long) - Nœud après lequel le nouveau nœud doit être inséré.
SegmentType
(Office.MsoSegmentType) - Type de segment à ajouter.
EditingType
(Office.MsoEditingType) - Indique le type de modification prévu pour le sommet.
X1
(Single) - Si le paramètre EditingType du nouveau segment est msoEditingAuto, cet argument spécifie la distance horizontale (en points) entre le coin supérieur gauche du document au point de terminaison du nouveau segment. Si le paramètre EditingType du nouveau nœud est msoEditingCorner, cet argument spécifie la distance horizontale (en points) entre le coin supérieur gauche du document et le premier point de contrôle pour le nouveau segment.
Y1
(Single) - Si le paramètre EditingType du nouveau segment est msoEditingAuto, cet argument spécifie la distance verticale (en points) entre le coin supérieur gauche du document au point de terminaison du nouveau segment. Si le paramètre EditingType du nouveau nœud est msoEditingCorner, cet argument spécifie la distance verticale (en points) entre le coin supérieur gauche du document et le premier point de contrôle pour le nouveau segment.
Optional arguments
Les arguments suivants sont facultatifs
X2
(Single) - Si le paramètre EditingType du nouveau segment est msoEditingCorner, cet argument spécifie la distance horizontale (en points) entre le coin supérieur gauche du document et le deuxième point de contrôle pour le nouveau segment. Si le paramètre EditingType du nouveau segment est msoEditingAuto, ne spécifiez pas de valeur pour cet argument.
Y2
(Single) - Si le paramètre EditingType du nouveau segment est msoEditingCorner, cet argument spécifie la distance verticale (en points) entre le coin supérieur gauche du document et le deuxième point de contrôle pour le nouveau segment. Si le paramètre EditingType du nouveau segment est msoEditingAuto, ne spécifiez pas de valeur pour cet argument.
X3
(Single) - Si le paramètre EditingType du nouveau segment est msoEditingCorner, cet argument spécifie la distance horizontale (en points) entre le coin supérieur gauche du document au point de terminaison du nouveau segment. Si le paramètre EditingType du nouveau segment est msoEditingAuto, ne spécifiez pas de valeur pour cet argument.
Y3
(Single) - Si le paramètre EditingType du nouveau segment est msoEditingCorner, cet argument spécifie la distance verticale (en points) entre le coin supérieur gauche du document au point de terminaison du nouveau segment. Si le paramètre EditingType du nouveau segment est msoEditingAuto, ne spécifiez pas de valeur pour cet argument.
Item
Cette méthode renvoie un seul objet ShapeNode de la collection ShapeNodes spécifiée.
Item (Index)
Index: Nom ou numéro d’index de l’objet ShapeNode unique de la collection à renvoyer.
Dim shpn As ShapeNode
Set shpn = ActiveWindow.RangeFromPoint.Nodes(Index:=1)
SetEditingType
Définit le type de modification du nœud spécifié.
Si le nœud spécifié par Index est un point de contrôle pour un segment courbé, cette méthode définit le type de modification du nœud qui lui est adjacent et relie les deux segments. Notez que, selon le type de modification du nœud, cette méthode risque de modifier la position de nœuds adjacents. La valeur du paramètre EditingType peut être l’une de ces constantes MsoEditingType .
SetEditingType (Index, EditingType)
With ActivePresentation.Slides(1).Shapes(3).Nodes
For n = 1 to .Count
If .Item(n).EditingType = msoEditingCorner Then
.SetEditingType n, msoEditingSmooth
End If
Next
End With
Arguments
SetPosition
Définit l’emplacement du nœud spécifié par l’argument Index. Remarquez que, selon le type de modification du nœud, cette méthode peut modifier la position des nœuds adjacents.
With ActivePresentation.Slides(1).Shapes(3).Nodes
pointsArray = .Item(2).Points
currXvalue = pointsArray(1, 1)
currYvalue = pointsArray(1, 2)
.SetPosition 2, currXvalue + 200, currYvalue + 300
End With
Arguments
SetSegmentType
Définit le type de segment qui suit le nœud spécifié.
Si le nœud spécifié par Index est un point de contrôle d’un segment de courbe, la méthode détermine le type de segment pour ce segment de courbe. Notez que le nombre de nœuds peut changer en raison de l'insertion et de l'effacement automatiques des nœuds adjacents. La valeur du paramètre SegmentType peut être l’une de ces constantes MsoSegmentType .
SetSegmentType (Index, SegmentType)
With ActivePresentation.Slides(1).Shapes(3).Nodes
n = 1
While n <= .Count
If .Item(n).SegmentType = msoSegmentLine Then
.SetSegmentType n, msoSegmentCurve
End If
n = n + 1
Wend
End With