Объект ShapeRange (издатель)
Представляет диапазон фигур, представляющий собой набор фигур в документе. Диапазон фигур может содержать всего одну фигуру или все фигуры в документе. Для создания диапазона фигур можно указать любые фигуры, выбранные из всех фигур в документе или всех фигур в выделенном фрагменте. Например, можно создать коллекцию ShapeRange , содержащую первые три фигуры в документе, все выбранные фигуры в документе или все фигуры свободной формы в документе.
Примечание.
Большинство операций, которые можно выполнить с объектом Shape , можно также выполнить с объектом ShapeRange , который содержит только одну фигуру. Некоторые операции, выполняемые с объектом ShapeRange , содержащим несколько фигур, вызывают ошибку.
Замечания
Используйте Shapes.Range (index), где index — это номер индекса фигуры или массив, содержащий номера индексов фигур, чтобы вернуть коллекцию ShapeRange , представляющую набор фигур в публикации. Используйте функцию Array в Visual Basic для создания массива чисел индекса.
Хотя для возврата любого количества фигур можно использовать метод Shapes.Range , проще использовать метод Item , если нужно вернуть только один член коллекции. Например, фигуры (1) проще , чем Shapes.Range (1).
Используйте Selection.ShapeRange (index), где index — это номер индекса фигуры, чтобы вернуть объект Shape , представляющий фигуру в выделенном фрагменте.
Используйте метод Выравнивание , Метод Распространения или ZOrder для размещения набора фигур относительно друг друга или относительно документа.
Используйте методы Group , Regroup или Ungroup для создания и работы с одной фигурой, сформированной из диапазона фигур. Свойство GroupItems возвращает объект GroupShapes , который представляет все фигуры, сгруппированные в одну фигуру.
Пример
В следующем примере задается шаблон заливки для фигур от одного до трех в активной публикации.
Sub ChangeFillPattern()
ActiveDocument.Pages(1).Shapes.Range(Array(1, 2, 3)) _
.Fill.PresetGradient Style:=msoGradientDiagonalDown, _
Variant:=1, PresetGradientType:=msoGradientHorizon
End Sub
В следующем примере выбираются первые две фигуры на первой странице активной публикации, а затем устанавливается заливка для первой фигуры в выделенном фрагменте.
Sub ChangeFillForShapeRange()
ActiveDocument.Pages(1).Shapes.Range(Array(1, 2)).Select
Selection.ShapeRange(1).Fill.ForeColor.RGB = RGB(255, 0, 0)
End Sub
В этом примере выбираются все фигуры на первой странице активной публикации, а затем добавляется и форматирует текст во второй фигуре в диапазоне.
Sub SelectShapesOnPageOne()
ActiveDocument.Pages(1).Shapes.Range.Select
With Selection.ShapeRange(2).TextFrame.TextRange
.Text = "Shape Number 2"
.ParagraphFormat.Alignment = pbParagraphAlignmentCenter
.Font.Size = 25
End With
End Sub
В этом примере задается диапазон фигур, выравнивание по левому краю и вертикальное распределение фигур на странице.
Sub AlignDistributeShapes()
Dim rngShapes As ShapeRange
Set rngShapes = ActiveDocument.Pages(1).Shapes.Range
With rngShapes
.Align AlignCmd:=msoAlignLefts, RelativeTo:=msoFalse
.Distribute DistributeCmd:=msoDistributeVertically, RelativeTo:=msoTrue
End With
End Sub
В этом примере задается диапазон фигур, выравнивание по левому краю и вертикальное распределение фигур на странице.
Sub GroupShapes()
Dim rngShapes As ShapeRange
Set rngShapes = ActiveDocument.Pages(1).Shapes.Range
rngShapes.Group
rngShapes(1).Fill.OneColorGradient _
Style:=msoGradientFromCenter, _
Variant:=2, Degree:=1
End Sub
Методы
- AddToCatalogMergeArea
- Align
- Apply
- Copy
- Cut
- Delete
- Distribute
- Duplicate
- Flip
- GetHeight
- GetLeft
- GetTop
- GetWidth
- Group
- IncrementLeft
- IncrementRotation
- IncrementTop
- Item
- MoveIntoTextFlow
- MoveOutOfTextFlow
- PickUp
- Regroup
- RemoveFromCatalogMergeArea
- RerouteConnections
- SaveAsBuildingBlock
- SaveAsPicture
- ScaleHeight
- ScaleWidth
- Select
- SetShapesDefaultProperties
- Ungroup
- ZOrder
Свойства
- Adjustments
- AlternativeText
- Application
- AutoShapeType
- BlackWhiteMode
- Callout
- ConnectionSiteCount
- Connector
- ConnectorFormat
- Count
- Fill
- Glow
- GroupItems
- HasTable
- HasTextFrame
- Height
- HorizontalFlip
- Hyperlink
- ID
- InlineAlignment
- InlineTextRange
- IsInline
- Left
- Line
- LinkFormat
- LockAspectRatio
- Name
- Nodes
- OLEFormat
- Parent
- PictureFormat
- Reflection
- Rotation
- Shadow
- SoftEdge
- Table
- Tags
- TextEffect
- TextFrame
- TextWrap
- ThreeD
- Top
- Type
- VerticalFlip
- Vertices
- Width
- Wizard
- WizardTag
- WizardTagInstance
- ZOrderPosition
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.