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

Les arguments nommés :

Index (Long) - Indique le nœud dont le type de modification doit être défini.

EditingType (Office.MsoEditingType) - Type de modification.

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.

SetPosition (Index, X1, Y1)

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

Les arguments nommés :

Index (Long) - Indique le nœud à positionner.

X1 (Single) - Position x (en points) du nouveau nœud, par rapport à l’angle supérieur gauche du document.

Y1 (Single) - Position y (en points) du nouveau nœud, par rapport à l’angle supérieur gauche du document.

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

Arguments

Les arguments nommés :

Index (Long) - Indique le nœud dont le type de segment doit être déterminé.

SegmentType (Office.MsoSegmentType) - Indique s'il s'agit d'un segment de droite ou de courbe.