Klasse ShapeNodes (Word VBA)
Eine Auflistung aller ShapeNode Objekte des angegebenen Freihandobjekts. Um eine ShapeNodes -Klassenvariable zu verwenden, muss sie zuerst instanziert werden, beispielsweise
Count
Gibt einen Wert vom Typ Long zurück, der die Anzahl der Shape-Knoten in der Auflistung darstellt.
Dim sns As ShapeNodes: Set sns =
Dim lngCount As Long
lngCount = sns.Count
Delete
Löscht den angegebenen Formknoten.
Delete (Index)
Index: Die Nummer des zu löschenden Formknotens in der Auflistung der Formknoten.
Dim lngIndex As Long: lngIndex =
Dim sns As ShapeNodes: Set sns =
sns.Delete Index:=lngIndex
Insert
Fügt einen Knoten in eine Freihandform ein.
Insert (Index, SegmentType, EditingType, X1, Y1, X2, Y2, X3, Y3)
Sub InsertShapeNode()
ActiveDocument.Shapes(3).Select
With Selection.ShapeRange
If .Type = msoFreeform Then
.Nodes.Insert _
Index:=3, SegmentType:=msoSegmentCurve, _
EditingType:=msoEditingSymmetric, x1:=35, y1:=100
.Fill.ForeColor.RGB = RGB(0, 0, 200)
.Fill.Visible = msoTrue
Else
MsgBox "This shape is not a Freeform object."
End If
End With
End Sub
Arguments
Hier sind die benannte Argumente :
Index (Long) - Die Nummer des Formknotens, hinter dem ein neuer Knoten eingefügt werden soll.
SegmentType (Office.MsoSegmentType) - Die Art der Linie, die den eingefügten Knoten mit den benachbarten Knoten verbindet.
EditingType (Office.MsoEditingType) - Die Bearbeitungseigenschaft des eingefügten Knotens.
X1 (Single) - Wenn der EditingType-Wert des neuen Segments msoEditingAuto lautet, gibt dieses Argument den horizontalen Abstand (in Punkt) von der linken oberen Ecke des Dokuments bis zum Startpunkt des neuen Segments an.
Y1 (Single) - Wenn der EditingType-Wert des neuen Segments msoEditingAuto lautet, gibt dieses Argument den vertikalen Abstand (in Punkt) von der linken oberen Ecke des Dokuments bis zum Startpunkt des neuen Segments an.
Optional arguments
Die folgenden Argumente sind optional
X2 (Single) - Wenn der EditingType-Wert des neuen Segments msoEditingCornerist, gibt dieses Argument den horizontalen Abstand (in Punkt) von der oberen linken Ecke des Dokuments zum zweiten Kontrollpunkt für das neue Segment an.
Y2 (Single) - Wenn der EditingType des neuen Segments msoEditingCornerist, gibt dieses Argument den in Punkt gemessenen vertikalen Abstand von der oberen linken Ecke des Dokuments zum zweiten Kontrollpunkt für das neue Segment an.
X3 (Single) - Wenn der EditingType-Wert des neuen Segments msoEditingCorner lautet, gibt dieses Argument den horizontalen Abstand (in Punkt) von der linken oberen Ecke des Dokuments bis zum Endpunkt des neuen Segments an.
Y3 (Single) - Wenn der EditingType-Wert des neuen Segments msoEditingCorner lautet, gibt dieses Argument den vertikalen Abstand (in Punkt) von der linken oberen Ecke des Dokuments bis zum Endpunkt des neuen Segments an.
Item
Gibt ein einzelnes ShapeNode -Objekt in einer Auflistung zurück.
Item (Index)
Index: Das einzelne Objekt zurückgegeben werden soll.
Dim sns As ShapeNodes: Set sns =
Dim shpn As ShapeNode
Set shpn = sns(Index:=1)
SetEditingType
Legt die Bearbeitungsart des durch Index angegebenen Knotens fest.
Wenn der Knoten ein Kontrollpunkt für einen gekrümmten Abschnitt ist, legt diese Methode die Bearbeitungsart des angrenzenden Knotens fest, der zwei Abschnitte verbindet.
SetEditingType (Index, EditingType)
Dim lngLoop As lngLoop
With ActiveDocument.Shapes(3).Nodes
For lngLoop = 1 to .Count
If .Item(lngLoop).EditingType = msoEditingCorner Then
.SetEditingType lngLoop, msoEditingSmooth
End If
Next lngLoop
End With
Arguments
Hier sind die benannte Argumente :
Index (Long) - Der Knoten, dessen Bearbeitungstyp festgelegt werden soll.
EditingType (Office.MsoEditingType) - Die Bearbeitungseigenschaft des Scheitelpunkts.
SetPosition
Legt den Ort des Knotens fest, der durch Index angegeben wurde.
Je nach Bearbeitungsart des Knotens kann diese Methode die Position benachbarter Knoten beeinflussen.
With ActiveDocument.Shapes(3).Nodes
pointsArray = .Item(2).Points
currXvalue = pointsArray(1, 1)
currYvalue = pointsArray(1, 2)
.SetPosition 2, currXvalue + 200, currYvalue + 300
End With
Arguments
Hier sind die benannte Argumente :
Index (Long) - Der Knoten, dessen Position festgelegt werden soll.
X1 (Single) - Die Position (in Punkt) des neuen Knotens relativ zur linken, oberen Ecke des Dokuments.
Y1 - Single
SetSegmentType
Legt den Abschnittstyp des Abschnitts fest, das dem durch Index angegebenen Knoten folgt.
Wenn es sich bei dem Knoten um einen Steuerungspunkt eines gekrümmten Abschnitts handelt, legt diese Methode den Segmenttyp für diese Kurve fest.
SetSegmentType (Index, SegmentType)
Dim lngLoop As Long
With ActiveDocument.Shapes(3).Nodes
lngLoop = 1
While lngLoop <= .Count
If .Item(lngLoop).SegmentType = msoSegmentLine Then
.SetSegmentType lngLoop, msoSegmentCurve
End If
lngLoop = lngLoop + 1
Wend
End With
Arguments
Hier sind die benannte Argumente :
Index (Long) - Der Knoten, dessen Segmenttyp festgelegt werden soll.
SegmentType (Office.MsoSegmentType) - Legt fest, ob das Segment gerade oder gekrümmt ist.