Método Shapes.Range (PowerPoint)
Retorna um objeto ShapeRange que representa um subconjunto das formas em uma coleção Shapes .
Sintaxe
expressão. Intervalo (Índice)
expressão Uma variável que representa um objeto Formas.
Parâmetros
Nome | Obrigatório/Opcional | Tipo de dados | Descrição |
---|---|---|---|
Índice | Opcional | Variant | As formas individuais que devem ser incluídas no intervalo. Pode ser um inteiro que especifica o número de índice da forma, uma cadeia de caracteres que especifica o nome da forma ou uma matriz que contém as cadeias de caracteres ou números inteiros. Se esse argumento for omitido, o método Range retorna todos os objetos na coleção especificada. |
Valor de retorno
ShapeRange
Comentários
Embora você possa usar o método Range para retornar qualquer número de formas ou slides, é mais simples usar o método Item se desejar retornar um único membro da coleção. Por exemplo, Shapes(1)
é mais simples que Shapes.Range(1)
, e Slides(2)
é mais simples que Slides.Range(2)
.
Para especificar uma matriz de números inteiros ou cadeias de caracteres para o índice, você pode usar a função Array. Por exemplo, a instrução a seguir retorna duas formas especificadas por nome.
Dim myArray() As Variant, myRange As Object myArray = Array("Oval 4", "Rectangle 5") Set myRange = ActivePresentation.Slides(1).Shapes.Range(myArray)
Exemplo
Este exemplo define o padrão de preenchimento para as formas um e três de myDocument.
Set myDocument = ActivePresentation.Slides(1)
myDocument.Shapes.Range(Array(1, 3)).Fill _
.Patterned msoPatternHorizontalBrick
Este exemplo define o padrão de preenchimento para as formas chamadas "Oval 4" e "Rectangle 5" do primeiro slide.
Dim myArray() As Variant, myRange As Object
myArray = Array("Oval 4", "Rectangle 5")
Set myRange = ActivePresentation.Slides(1).Shapes.Range(myArray)
myRange.Fill.Patterned msoPatternHorizontalBrick
Este exemplo define o padrão de preenchimento para todas as formas do primeiro slide.
ActivePresentation.Slides(1).Shapes.Range.Fill _
.Patterned Pattern:=msoPatternHorizontalBrick
Este exemplo define o padrão de preenchimento para a forma um do primeiro slide.
Set myDocument = ActivePresentation.Slides(1)
Set myRange = myDocument.Shapes.Range(1)
myRange.Fill.Patterned msoPatternHorizontalBrick
Este exemplo cria uma matriz que contém todas as AutoFormas do primeiro slide, usa essa matriz para definir um intervalo de formas e, em seguida, distribui todas as formas nesse intervalo horizontalmente.
With myDocument.Shapes
numShapes = .Count
'Continues if there are shapes on the slide
If numShapes > 1 Then
numAutoShapes = 0
ReDim autoShpArray(1 To numShapes)
For i = 1 To numShapes
'Counts the number of AutoShapes on the Slide
If .Item(i).Type = msoAutoShape Then
numAutoShapes = numAutoShapes + 1
autoShpArray(numAutoShapes) = .Item(i).Name
End If
Next
'Adds AutoShapes to ShapeRange
If numAutoShapes > 1 Then
ReDim Preserve autoShpArray(1 To numAutoShapes)
Set asRange = .Range(autoShpArray)
asRange.Distribute msoDistributeHorizontally, False
End If
End If
End With
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.