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


Метод 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

См. также

Объект Shapes Collection

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.