Clase ShapeNode (PowerPoint VBA)

La clase ShapeNode representa la geometría y las propiedades de modificación de la geometría de los nodos de una forma libre definida por el usuario.

El principal procedimiento de la clase ShapeNode es ShapeNodes.Delete

Set

Para usar una variable de clase ShapeNode, primero debe ser instanciado, por ejemplo

Dim shpn as ShapeNode
Set shpn = ActiveWindow.RangeFromPoint.Nodes(Index:=1)

Los siguientes procedimientos se pueden usar para establecer variables de clase ShapeNode : ShapeNodes.Item, Shape.Nodes y ShapeRange.Nodes

Métodos

Este es el método principal de la clase ShapeNode

ShapeNodes.Delete - Elimina un nodo de forma.

Dim lngIndex As Long: lngIndex = 
ActiveWindow.RangeFromPoint.Nodes.Delete Index:=lngIndex

Otros Métodos

ShapeNodes.Insert - Inserta un segmento nuevo a continuación del nodo especificado de la forma libre.

Dim lngIndex As Long: lngIndex = 
ActivePresentation.Slides(1).Shapes(1).Nodes.Insert Index:=lngIndex, SegmentType:=msoSegmentLine, EditingType:=msoEditingAuto, X1:=210, Y1:=100

ShapeNodes.SetEditingType - Establece el tipo de modificación del nodo especificado.

Dim lngIndex As Long: lngIndex = 
ActivePresentation.Slides(1).Shapes(1).Nodes.SetEditingType Index:=lngIndex, EditingType:=msoEditingAuto

ShapeNodes.SetPosition - Establece la ubicación del nodo especificado por Index. Tenga en cuenta que, según el tipo de modificación del nodo, este método puede afectar a la posición de los nodos adyacentes.

Dim lngIndex As Long: lngIndex = 
ActivePresentation.Slides(1).Shapes(1).Nodes.SetPosition Index:=lngIndex, X1:=210, Y1:=100

ShapeNodes.SetSegmentType - Establece el tipo del segmento posterior al nodo especificado.

Dim lngIndex As Long: lngIndex = 
ActivePresentation.Slides(1).Shapes(1).Nodes.SetSegmentType Index:=lngIndex, SegmentType:=msoSegmentLine

Propiedades

EditingType Si el nodo especificado es un vértice, esta propiedad devuelve un valor que indica cómo afectan los cambios realizados en el nodo a los dos segmentos conectados con él. Si el nodo es un punto de control para un segmento de curva, la propiedad devuelve el tipo de modificación del vértice adyacente. Solo lectura.

Dim metEditingType As Office.MsoEditingType
metEditingType = ActivePresentation.Slides(1).Shapes(1).Nodes(1).EditingType

Parent Devuelve el objeto primario del objeto especificado.

Dim objParent As Object
Set objParent = ActiveWindow.RangeFromPoint.Nodes(1).Parent

Points Devuelve una Variant que representa la posición del nodo especificado como un par de coordenadas. Solo lectura.

Dim pointsArray As vARIANT
pointsArray = ActivePresentation.Slides(1).Shapes(1).Nodes(1).Points

SegmentType Devuelve un valor que indica si el segmento asociado al nodo especificado es recto o curvo. Solo lectura.

Dim mstSegmentType As Office.MsoSegmentType
mstSegmentType = ActivePresentation.Slides(1).Shapes(1).Nodes(1).SegmentType

ShapeNodes.Count Devuelve el número de objetos de la colección especificada. Solo lectura.

Dim lngCount As Long
lngCount = ActiveWindow.RangeFromPoint.Nodes.Count

ShapeNodes.Parent Devuelve el objeto primario del objeto especificado.

Dim objParent As Object
Set objParent = ActiveWindow.RangeFromPoint.Nodes.Parent