Klasse ShapeNode - Geometrie- (Word VBA)
Die Klasse ShapeNode stellt die Geometrie- und Geometriebearbeitungseigenschaften der Knoten in einer benutzerdefinierten Freihandform dar. Um eine ShapeNode -Klassenvariable zu verwenden, muss sie zuerst instanziert werden, beispielsweise
For Each
Hier ist ein Beispiel für die Verarbeitung der ShapeNode -Elemente in einer Sammlung
Dim shp As Shape: Set shp =
Dim shpnNode As ShapeNode
For Each shpnNode In shp.Nodes
With shpnNode
End With
Next shpnNode
EditingType
Wenn es sich bei dem angegebenen Knoten um einen Scheitelpunkt handelt, gibt diese Eigenschaft einen Wert zurück, der angibt, wie sich am Knoten vorgenommene Änderungen auf die beiden mit dem Knoten verbundenen Abschnitte auswirken.
Wenn der Knoten ein Kontrollpunkt für ein gekrümmter Abschnitt ist, gibt diese Eigenschaft den Bearbeitungstyp des angrenzenden Scheitelpunkts zurück.
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
Gibt die Position des angegebenen Knotens als Koordinatenpaar zurück.
Die einzelnen Koordinaten werden in Punkt angegeben.
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
Gibt einen Wert zurück, der angibt, ob der dem angegebenen Knoten zugeordnete Abschnitt gerade oder gekrümmt ist.
Wenn der angegebene Knoten ein Kontrollpunkt für ein gekrümmtes Segment ist, gibt diese Eigenschaft msoSegmentCurvezurück. Verwenden Sie die SetSegmentType -Methode, um den Wert dieser Eigenschaft festzulegen.
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