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 formas de la colección Shapes .
Sintaxis
más sencilla.Rango (índice)
expresión Variable que representa un objeto Shapes.
Parameters
| Nombre | Obligatorio/opcional | Tipo de datos | Descripción |
|---|---|---|---|
| Index | Obligatorio | Variant | Especifica una o varias formas que se incluirán en el rango. Puede ser un entero para el número de índice de una forma, una cadena para el nombre de una forma o una matriz que contiene enteros o cadenas. |
| Índice | Obligatorio | Variant | |
| Nombre | Obligatorio/opcional | Tipo de datos | Descripción |
Valor devuelto
ShapeRange
El rango de formas especificado por el parámetro INDICE .
Comentarios
Nota:
[!NOTA] Casi todas las operaciones que se pueden hacer con un objeto Shape también puede hacer con un objeto ShapeRange que contenga una única forma. Algunas operaciones, cuando se realizan en un objeto ShapeRange que contiene varias formas, producen un error.
Aunque puede usar la propiedad Rango para devolver cualquier número de formas en un informe, es más sencillo usar la propiedad de valor predeterminado para devolver una sola forma de la colección. Por ejemplo, Shapes(1) es más sencillo que Shapes.Range(1).
Para especificar una matriz de enteros o cadenas para el parámetro Índice , puede usar la función Matriz . Por ejemplo, la macro siguiente selecciona dos formas que se especifican por nombre.
Sub SelectShapeRange()
Dim arShapes() As Variant
Dim oShapeRange As ShapeRange
arShapes = Array("TextBox 4", "TextBox 5")
Set oShapeRange = ActiveProject.Reports("Table Tests").Shapes.Range(arShapes)
oShapeRange.Select
End Sub
Ejemplo
Si crea un informe que tiene dos cuadros de texto, como en el código anterior, la macro siguiente selecciona los cuadros de texto por número de índice y, a continuación, agrega una sombra a cada uno de ellos.
Sub AddShadow2Shapes()
Dim oReports As Reports
Dim oReport As Report
Dim oShapeRange As ShapeRange
Dim reportName As String
Dim arShapes() As Variant
arShapes = Array(3, 4)
reportName = "Table Tests"
Set oReports = ActiveProject.Reports
If (oReports.IsPresent(reportName)) Then
' Make the report the active view.
oReports(reportName).Apply
Set oReport = oReports(reportName)
Set oShapeRange = oReport.Shapes.Range(arShapes)
oShapeRange.Select
oShapeRange.Shadow.Type = msoShadow1
End If
End Sub
Vea también
Objeto Formas ObjetoShapeRange
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.