在指定的形状范围内均匀分布形状。可以指定是水平还是垂直分布形状,以及是在整个幻灯片中还是在它们原来所在的空间内分布形状。
expression.Distribute(DistributeCmd, RelativeTo)
expression 必选。该表达式返回一个 ShapeRange 对象。
DistributeCmd 必选。MsoDistributeCmd 类型。指定在该范围内的形状是水平分布还是垂直分布。
| MsoDistributeCmd 可以是下列 MsoDistributeCmd 类型常数之一。 | 
| msoDistributeHorizontally | 
| msoDistributeVertically | 
RelativeTo 必选。MsoTriState 类型。决定形状在幻灯片的整个水平或垂直空间上是否均匀分布。
| MsoTriState 可以是下列 MsoTriState 类型常数之一。 | 
| msoCTrue | 
| msoFalse 在形状原来所在范围的水平或垂直空间内分布形状。 | 
| msoTriStateMixed | 
| msoTriStateToggle | 
| msoTrue 在幻灯片的整个水平或垂直空间上均匀分布形状。 | 
本示例定义包含在 myDocument 上的所有自选图形的形状范围,然后在该范围内水平分布这些形状。
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