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.

SetPosition (Index, X1, Y1)


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.