Shapes.Range-Methode (PowerPoint)

Gibt ein ShapeRange -Objekt zurück, das eine Untermenge der Formen in einer Shapes -Auflistung darstellt.

Syntax

Ausdruck. Bereich (Index)

expression Eine Variable, die ein Shapes-Objekt darstellt.

Parameter

Name Erforderlich/Optional Datentyp Beschreibung
Index Optional Variant Die einzelnen Formen, die in dem Bereich enthalten sein sollen. Kann eine ganze Zahl, die die Indexnummer der Form angibt, eine Zeichenfolge, die den Namen der Form angibt, oder ein Array, das entweder Ganzzahlen oder Zeichenfolgen enthält. Wenn dieses Argument ausgelassen wird, gibt die Range -Methode alle Objekte in der angegebenen Auflistung zurück.

Rückgabewert

ShapeRange

HinwBemerkungeneise

Obwohl Sie eine beliebige Anzahl von Formen oder Folien zurückgeben die Range -Methode verwenden können, ist es einfacher, die Item -Methode verwenden, wenn Sie nur ein einzelnes Element der Auflistung zurückgeben möchten. ist beispielsweise Shapes(1) einfacher als Shapes.Range(1), und Slides(2) ist einfacher als Slides.Range(2).

Um für Index ein Array aus Ganzzahlen und Zeichenfolgen festzulegen, können Sie die Funktion Array verwenden. Die folgende Anweisung gibt z. B. zwei Formen zurück, deren Namen angegeben werden.

Dim myArray() As Variant, myRange As Object myArray = Array("Oval 4", "Rectangle 5") Set myRange = ActivePresentation.Slides(1).Shapes.Range(myArray)

Beispiel

In diesem Beispiel wird das Füllmuster für die Formen 1 und 3 in myDocument gesetzt.

Set myDocument = ActivePresentation.Slides(1)

myDocument.Shapes.Range(Array(1, 3)).Fill _
    .Patterned msoPatternHorizontalBrick

In dem folgenden Beispiel wird das Füllmuster für zwei Formen namens "Oval 4" und "Rectangle 5" auf der ersten Folie festgelegt.

Dim myArray() As Variant, myRange As Object

myArray = Array("Oval 4", "Rectangle 5")

Set myRange = ActivePresentation.Slides(1).Shapes.Range(myArray)

myRange.Fill.Patterned msoPatternHorizontalBrick

In dem folgenden Beispiel wird das Füllmuster für alle Formen der ersten Folie festgelegt.

ActivePresentation.Slides(1).Shapes.Range.Fill _
    .Patterned Pattern:=msoPatternHorizontalBrick

In dem folgenden Beispiel wird das Füllmuster für Form 1 auf der ersten Folie festgelegt.

Set myDocument = ActivePresentation.Slides(1)

Set myRange = myDocument.Shapes.Range(1)

myRange.Fill.Patterned msoPatternHorizontalBrick

In dem folgenden Beispiel wird ein Array mit allen AutoFormen der ersten Folie erstellt. Das Array wird zur Festlegung des Formbereichs verwendet. Anschließend werden alle Formen des Bereichs horizontal verteilt angeordnet.

With myDocument.Shapes

    numShapes = .Count



    'Continues if there are shapes on the slide

    If numShapes > 1 Then

        numAutoShapes = 0

        ReDim autoShpArray(1 To numShapes)

        For i = 1 To numShapes



            'Counts the number of AutoShapes on the Slide

            If .Item(i).Type = msoAutoShape Then

                numAutoShapes = numAutoShapes + 1

                autoShpArray(numAutoShapes) = .Item(i).Name

            End If

        Next



        'Adds AutoShapes to ShapeRange

        If numAutoShapes > 1 Then

            ReDim Preserve autoShpArray(1 To numAutoShapes)

            Set asRange = .Range(autoShpArray)

            asRange.Distribute msoDistributeHorizontally, False

        End If

    End If

End With


Siehe auch

Shapes-Objekt

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.