ShapeRange-Objekt (Herausgeber)

Repräsentiert einen Formenbereich, eine Gruppe von Formen in einem Dokument ist. Ein Formbereich kann nur eine Form oder alle Formen im Dokument enthalten. Sie können die gewünschten Shapes einbeziehen – aus allen Shapes im Dokument oder aus allen Shapes in der Auswahl –, um einen Shapebereich zu erstellen. Beispielsweise können Sie eine ShapeRange -Auflistung erstellen, die die ersten drei Formen in einem Dokument, alle markierten Formen in einem Dokument oder alle Freihandformen in einem Dokument enthält.

Hinweis

[!HINWEIS] Die meisten Vorgänge, die Sie mit ein Shape -Objekt möglich, auch mit einem ShapeRange -Objekt möglich, die nur eine Form enthält. Einige Vorgänge verursachen einen Fehler, wenn sie für ein ShapeRange-Objekt ausgeführt werden, das mehrere Formen enthält.

Hinweise

Verwenden Sie Shapes.Range (index), wobei index die Indexnummer des Shapes oder ein Array ist, das Indexnummern von Shapes enthält, um eine ShapeRange-Auflistung zurückzugeben, die einen Satz von Shapes in einer Publikation darstellt. Verwenden Sie die Matrix-Funktion von Visual Basic, um ein Array von Indexnummern zu erstellen.

Sie können die Shapes.Range-Methode zwar verwenden, um eine beliebige Anzahl von Formen zurückzugeben, aber es ist einfacher, die Item-Methode zu verwenden, wenn Sie nur ein einzelnes Element der Auflistung zurückgeben möchten. Beispielsweise ist Shapes (1) einfacher als Shapes.Range (1).

Verwenden Sie Selection.ShapeRange (index), wobei index die Indexnummer der Form ist, um ein Shape-Objekt zurückzugeben, das eine Form innerhalb einer Auswahl darstellt.

Verwenden Sie die Align-Methode , die Distribute-Methode oder die ZOrender-Methode , um eine Reihe von Formen relativ zueinander oder relativ zum Dokument zu positionieren.

Verwenden Sie die Group-Methode , die Regroup-Methode oder die Ungroup-Methode , um ein einzelnes Shape zu erstellen und damit zu arbeiten, das aus einem Formbereich gebildet wurde. Die GroupItems-Eigenschaft gibt das GroupShapes-Objekt zurück, das alle Shapes darstellt, die zu einem Shape gruppiert wurden.

Beispiel

Das folgende Beispiel legt das Füllmuster für die Formen 1 bis 3 der aktiven Publikation fest.

Sub ChangeFillPattern() 
    ActiveDocument.Pages(1).Shapes.Range(Array(1, 2, 3)) _ 
        .Fill.PresetGradient Style:=msoGradientDiagonalDown, _ 
        Variant:=1, PresetGradientType:=msoGradientHorizon 
End Sub

Das folgende Beispiel wählt die ersten beiden Formen auf der ersten Seite der aktiven Publikation und dann die Füllung für die erste Form in der Markierung festgelegt.

Sub ChangeFillForShapeRange() 
    ActiveDocument.Pages(1).Shapes.Range(Array(1, 2)).Select 
    Selection.ShapeRange(1).Fill.ForeColor.RGB = RGB(255, 0, 0) 
End Sub

In diesem Beispiel werden alle Shapes auf dem ersten Seite der aktiven Publikation ausgewählt, dann wird Text im zweiten Shape im Bereich hinzugefügt und formatiert.

Sub SelectShapesOnPageOne() 
    ActiveDocument.Pages(1).Shapes.Range.Select 
    With Selection.ShapeRange(2).TextFrame.TextRange 
        .Text = "Shape Number 2" 
        .ParagraphFormat.Alignment = pbParagraphAlignmentCenter 
        .Font.Size = 25 
    End With 
End Sub

In diesem Beispiel wird einen Formbereich gibt und links ausgerichtet und vertikal verteilt die Formen auf der Seite.

Sub AlignDistributeShapes() 
    Dim rngShapes As ShapeRange 
    Set rngShapes = ActiveDocument.Pages(1).Shapes.Range 
 
    With rngShapes 
        .Align AlignCmd:=msoAlignLefts, RelativeTo:=msoFalse 
        .Distribute DistributeCmd:=msoDistributeVertically, RelativeTo:=msoTrue 
    End With 
End Sub

In diesem Beispiel wird einen Formbereich gibt und links ausgerichtet und vertikal verteilt die Formen auf der Seite.

Sub GroupShapes() 
    Dim rngShapes As ShapeRange 
    Set rngShapes = ActiveDocument.Pages(1).Shapes.Range 
    rngShapes.Group 
 
    rngShapes(1).Fill.OneColorGradient _ 
        Style:=msoGradientFromCenter, _ 
        Variant:=2, Degree:=1 
End Sub

Methoden

Eigenschaften

Siehe auch

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.