Поделиться через


Метод ShapeRange.Distribute (Excel)

Горизонтально или вертикально распределяет фигуры в указанном диапазоне фигур.

Синтаксис

expression. Распространение (DistributeCmd, RelativeTo)

Выражение Переменная, представляющая объект ShapeRange .

Параметры

Имя Обязательный или необязательный Тип данных Описание
DistributeCmd Обязательный 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 и обратная связь.