Objeto ShapeRange (Publisher)
Representa um intervalo de formas, que é um conjunto de formas em um documento. O intervalo de formas pode conter desde uma única forma até todas as formas do documento. Você pode incluir todas as formas desejadas, escolhidas entre todas as formas do documento ou todas as formas na seleção, para construir um intervalo de formas. Por exemplo, você poderia construir uma coleção ShapeRange contendo as três primeiras formas em um documento, todas as formas selecionadas em um documento ou todas as formas livres em um documento.
Observação
[!OBSERVAçãO] Maioria das operações que você pode fazer com um objeto Shape, você também pode fazer com um objeto ShapeRange que contenha apenas uma forma. Algumas operações, quando executadas em um objeto ShapeRange que contém mais de uma forma, causam um erro.
Comentários
Use Shapes.Range (index), em que o índice é o número de índice da forma ou uma matriz que contém números de índice de formas, para retornar uma coleção ShapeRange que representa um conjunto de formas em uma publicação. Use a função Matriz do Visual Basic para construir uma matriz de números de índice.
Embora você possa usar o método Shapes.Range para retornar qualquer número de formas, é mais simples usar o método Item se você quiser retornar apenas um único membro da coleção. Por exemplo, Shapes (1) é mais simples que Shapes. Range (1).
Use Selection.ShapeRange (índice), em que o índice é o número de índice da forma, para retornar um objeto Shape que representa uma forma dentro de uma seleção.
Use o método Alinhar , Distribuir ou o método ZOrder para posicionar um conjunto de formas em relação umas às outras ou relativas ao documento.
Use o método Group , o método Regroup ou o método Ungroup para criar e trabalhar com uma única forma formada a partir de um intervalo de formas. A propriedade GroupItems retorna o objeto GroupShapes , que representa todas as formas agrupadas para formar uma forma.
Exemplo
O exemplo a seguir define o padrão de preenchimento das formas um e três na publicação ativa.
Sub ChangeFillPattern()
ActiveDocument.Pages(1).Shapes.Range(Array(1, 2, 3)) _
.Fill.PresetGradient Style:=msoGradientDiagonalDown, _
Variant:=1, PresetGradientType:=msoGradientHorizon
End Sub
O exemplo a seguir seleciona as primeiras duas formas na primeira página da publicação ativa e, em seguida, define o preenchimento da primeira forma da seleção.
Sub ChangeFillForShapeRange()
ActiveDocument.Pages(1).Shapes.Range(Array(1, 2)).Select
Selection.ShapeRange(1).Fill.ForeColor.RGB = RGB(255, 0, 0)
End Sub
Este exemplo seleciona todas as formas na primeira página da publicação ativa e, em seguida, adiciona e formata o texto na segunda forma no intervalo.
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
Este exemplo especifica um intervalo de formas e alinha à esquerda e distribui verticalmente as formas na página.
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
Este exemplo especifica um intervalo de formas e alinha à esquerda e distribui verticalmente as formas na página.
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
Métodos
- 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
Propriedades
- Adjustments
- AlternativeText
- Application
- AutoShapeType
- BlackWhiteMode
- Callout
- ConnectionSiteCount
- Connector
- ConnectorFormat
- Contagem
- Fill
- Glow
- GroupItems
- HasTable
- HasTextFrame
- Height
- HorizontalFlip
- Hyperlink
- ID
- InlineAlignment
- InlineTextRange
- IsInline
- Left
- Line
- LinkFormat
- LockAspectRatio
- Nome
- Nodes
- OLEFormat
- Responsável
- PictureFormat
- Reflection
- Rotation
- Shadow
- SoftEdge
- Table
- Marcas
- TextEffect
- TextFrame
- TextWrap
- ThreeD
- Top
- Type
- VerticalFlip
- Vertices
- Width
- Assistente
- WizardTag
- WizardTagInstance
- ZOrderPosition
Confira também
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.