Partager via


ShapeRange.Distribute Method (PowerPoint)

Evenly distributes the shapes in the specified range of shapes. You can specify whether you want to distribute the shapes horizontally or vertically and whether you want to distribute them over the entire slide or just over the space they originally occupy.

Syntax

expression .Distribute(DistributeCmd, RelativeTo)

expression A variable that represents a ShapeRange object.

Parameters

Name

Required/Optional

Data Type

Description

DistributeCmd

Required

MsoDistributeCmd

Specifies whether shapes in the range are to be distributed horizontally or vertically.

RelativeTo

Required

MsoTriState

Determines whether shapes are distributed evenly over the entire horizontal or vertical space on the slide.

Return Value

Nothing

Example

This example defines a shape range that contains all the AutoShapes on the myDocument and then horizontally distributes the shapes in this range.

Set myDocument = ActivePresentation.Slides(1)

With myDocument.Shapes

    numShapes = .Count

    If numShapes > 1 Then

        numAutoShapes = 0

        ReDim autoShpArray(1 To numShapes)

        For i = 1 To numShapes

            If .Item(i).Type = msoAutoShape Then

                numAutoShapes = numAutoShapes + 1

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

            End If

        Next

        If numAutoShapes > 1 Then

            ReDim Preserve autoShpArray(1 To numAutoShapes)

            Set asRange = .Range(autoShpArray)

            asRange.Distribute msoDistributeHorizontally, msoFalse

        End If

    End If

End With

See Also

Concepts

ShapeRange Object

ShapeRange Object Members