Clase ShapeNode - geometría (Word VBA)
La clase ShapeNode representa la geometría y la geometría propiedades de modificación de los nodos definidos por el usuario libre. Para usar una variable de clase ShapeNode, primero debe ser instanciado, por ejemplo
For Each
A continuación, se muestra un ejemplo de cómo procesar los elementos ShapeNode en una colección.
Dim shp As Shape: Set shp =
Dim shpnNode As ShapeNode
For Each shpnNode In shp.Nodes
With shpnNode
End With
Next shpnNode
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 al nodo.
Si el nodo es un punto de control de un segmento curvo, esta propiedad devuelve el tipo de modificación del vértice adyacente.
Dim docActive As Document
Dim intCount As Integer
Set docActive = ActiveDocument
With docActive.Shapes(3).Nodes
For intCount = 1 to .Count
If .Item(intCount).EditingType = msoEditingCorner Then
.SetEditingType intCount, msoEditingSmooth
End If
Next
End With
Points
Devuelve la posición del nodo especificado como un par de coordenadas.
Cada coordenada se expresa en puntos.
Set myDocument = ActiveDocument
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
Devuelve un valor que indica si el segmento asociado al nodo especificado es recto o curvo.
Si el nodo especificado es un punto de control de un segmento curvo, esta propiedad devuelve msoSegmentCurve. Utilice el método SetSegmentType para establecer el valor de esta propiedad.
Set myDocument = ActiveDocument
With myDocument.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