Compartilhar via


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

Propriedades

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.