Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Возвращает объект ShapeRange , представляющий подмножество фигур в коллекции Shapes .
Синтаксис
expression. Диапазон (индекс)
выражение: переменная, представляющая объект Shapes.
Параметры
| Имя | Обязательный или необязательный | Тип данных | Описание |
|---|---|---|---|
| Индекс; | Необязательный | Variant | Отдельные фигуры, которые должны быть включены в диапазон. Может быть целым числом, указывающим номер индекса фигуры, строкой , указывающей имя фигуры, или массивом, содержащим целые числа или строки. Если этот аргумент опущен, метод Range возвращает все объекты в указанной коллекции. |
Возвращаемое значение
ShapeRange
Замечания
Хотя метод Range можно использовать для возврата любого количества фигур или слайдов, проще использовать метод Item , если требуется вернуть только один член коллекции. Например, является более простым, Shapes(1) чем Shapes.Range(1), и Slides(2) проще , чем Slides.Range(2).
Чтобы указать массив целых чисел или строк для index, можно использовать функцию Array . Например, следующая инструкция возвращает две фигуры, указанные по имени.
Dim myArray() As Variant, myRange As Object myArray = Array("Oval 4", "Rectangle 5") Set myRange = ActivePresentation.Slides(1).Shapes.Range(myArray)
Пример
В этом примере задается шаблон заливки для фигур один и три в myDocument.
Set myDocument = ActivePresentation.Slides(1)
myDocument.Shapes.Range(Array(1, 3)).Fill _
.Patterned msoPatternHorizontalBrick
В этом примере задается шаблон заливки для фигур с именами Овал 4 и Прямоугольник 5 на первом слайде.
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
В этом примере задается шаблон заливки для всех фигур на первом слайде.
ActivePresentation.Slides(1).Shapes.Range.Fill _
.Patterned Pattern:=msoPatternHorizontalBrick
В этом примере задается шаблон заливки для фигуры на первом слайде.
Set myDocument = ActivePresentation.Slides(1)
Set myRange = myDocument.Shapes.Range(1)
myRange.Fill.Patterned msoPatternHorizontalBrick
В этом примере создается массив, который содержит все автофигуры на первом слайде, использует этот массив для определения диапазона фигур, а затем распределяет все фигуры в этом диапазоне по горизонтали.
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
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.