Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Devuelve un objeto ShapeRange que representa un subconjunto de las formas de una colección Shapes.
Sintaxis
expresión. Intervalo (índice)
expresión Variable que representa un objeto Shapes.
Parameters
| Nombre | Obligatorio/opcional | Tipo de datos | Descripción |
|---|---|---|---|
| Index | Obligatorio | Variant | Las formas individuales que se incluirán en el intervalo. Puede ser un entero que especifica el número de índice de la forma, una cadena que especifica el nombre de la forma o una matriz que contenga números enteros o cadenas. Si se omite Index , el método Range devuelve todos los objetos de la colección especificada. |
Valor devuelto
ShapeRange
Ejemplo
Para especificar una matriz de enteros o cadenas para Index, puede usar la función Array. Por ejemplo, la siguiente instrucción devuelve dos formas especificadas por nombre.
Dim arrShapes As Variant
Dim shpRange As ShapeRange
Set arrShapes = Array("Oval 4", "Rectangle 5")
Set shpRange = ActiveDocument.Pages(1) _
.Shapes.Range(arrShapes)
En este ejemplo se establece la trama de relleno de las formas uno y tres de la publicación activa.
ActiveDocument.Pages(1).Shapes.Range(Array(1, 3)).Fill _
.Patterned msoPatternHorizontalBrick
En este ejemplo se establece la trama de relleno de las formas "Oval 4" y "Rectangle 5" de la primera página.
Dim arrShapes As Variant
Dim shpRange As ShapeRange
arrShapes = Array("Oval 4", "Rectangle 5")
Set shpRange = ActiveDocument.Pages(1).Shapes.Range(arrShapes)
shpRange.Fill.Patterned msoPatternHorizontalBrick
En este ejemplo se establece la trama de relleno de todas las formas de la primera página.
ActiveDocument.Pages(1).Shapes _
.Range.Fill.Patterned msoPatternHorizontalBrick
En este ejemplo se establece la trama de relleno de la forma uno de la primera página.
Dim shpRange As ShapeRange
Set shpRange = ActiveDocument.Pages(1).Shapes.Range(1)
shpRange.Fill.Patterned msoPatternHorizontalBrick
En este ejemplo se crea una matriz que contiene todas las Autoformas de la primera página, se utiliza una matriz para definir un intervalo de formas y, a continuación, se distribuyen horizontalmente todas las formas de dicho intervalo.
Dim numShapes As Long
Dim numAutoShapes As Long
Dim autoShpArray As Variant
Dim intLoop As Integer
Dim shpRange As ShapeRange
With ActiveDocument.Pages(1).Shapes
numShapes = .Count
If numShapes > 1 Then
numAutoShapes = 0
ReDim autoShpArray(1 To numShapes)
For intLoop = 1 To numShapes
If .Item(intLoop).Type = msoAutoShape Then
numAutoShapes = numAutoShapes + 1
autoShpArray(numAutoShapes) = .Item(intLoop).Name
End If
Next
If numAutoShapes > 1 Then
ReDim Preserve autoShpArray(1 To numAutoShapes)
Set shpRange = .Range(autoShpArray)
shpRange.Distribute _
DistributeCmd:=msoDistributeHorizontally, _
RelativeTo:=False
End If
End If
End With
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.