ShapeRange.Distribut 方法 (Excel)

水平或垂直地分布指定的形状区域中的各形状。

语法

表达式分发 (DistributCmdRelativeTo)

表达 一个代表 ShapeRange 对象的变量。

参数

名称 必需/可选 数据类型 说明
DistributCmd 必需 MsoDistributeCmd 指定该范围内的形状是水平分布还是垂直分布。
RelativeTo 必需 MsoTriState 不在 Microsoft Excel 中使用。 必须为 False

示例

本示例在 myDocument 上定义了一个包含所有自选形状对象的形状子集,然后水平地分布该子集中的形状。 最左边的形状将保留在原位。

Set myDocument = Worksheets(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, False 
        End If 
    End If 
End With

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。