Метод Shapes.Range (Word)
Возвращает объект ShapeRange , представляющий фигуры в диапазоне.
Синтаксис
expression. Диапазон (индекс)
выражение (обязательно). Переменная, представляющая объект Shapes .
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Индекс; | Обязательный | Variant | Указывает, какие фигуры должны быть включены в указанный диапазон. Может быть целым числом, указывающим номер индекса фигуры в коллекции Shapes , строкой, указывающей имя фигуры, или массивом, содержащим целые числа или строки. |
Возвращаемое значение
ShapeRange
Замечания
Объект Shape всегда отображается на той же странице, что и диапазон, к который он привязан.
Примечание.
Большинство операций, которые можно выполнить с объектом Shape , можно также выполнить с помощью объекта ShapeRange , содержащего одну фигуру. При выполнении некоторых операций с объектом ShapeRange , содержащим несколько фигур, возникает ошибка.
Пример
В этом примере для первой фигуры в активном документе задается цвет переднего плана заливки фиолетовым.
Sub ShRange()
With ActiveDocument.Shapes.Range(1).Fill
.ForeColor.RGB = RGB(255, 0, 255)
.Visible = msoTrue
End With
End Sub
В этом примере тень применяется к фигуре переменной в активном документе.
Sub ShpRange2(strShpName As String)
ActiveDocument.Shapes.Range(strShpName).Shadow.Type = msoShadow6
End Sub
Чтобы вызвать предыдущую подпрограмму, введите следующий код в стандартный модуль кода.
Sub CallShpRange2()
Dim shpArrow As Shape
Dim strName As String
Set shpArrow = ActiveDocument.Shapes.AddShape(Type:=msoShapeLeftArrow, _
Left:=200, Top:=400, Width:=50, Height:=75)
shpArrow.Name = "myShape"
strName = shpArrow.Name
ShpRange2 strShpName:=strName
End Sub
В этом примере выбираются фигуры один и три в активном документе.
Sub SelectShapeRange()
ActiveDocument.Shapes.Range(Array(1, 3)).Select
End Sub
В этом примере выбираются и удаляются фигуры в первой фигуре активного документа. В этом примере предполагается, что первая фигура является фигурой холста.
Sub CanvasShapeRange()
Dim rngCanvasShapes As Range
Set rngCanvasShapes = ActiveDocument.Shapes(1).CanvasItems.Range(1)
rngCanvasShapes.Select
rngCanvasShapes.Delete
End Sub
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.