Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
Devuelve un objeto ShapeRange que representa un subconjunto de formas de la 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 | Especifica una o varias formas que se van a incluir en el intervalo. 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
Intervalo de formas que especifica el parámetro Index .
Observaciones
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 Range para devolver cualquier número de formas en un informe, es más sencillo usar la propiedad Value predeterminada 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 Index , puede usar la función Array . Por ejemplo, la siguiente macro 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 siguiente macro 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
ShapeRange (objeto ShapeRange) del objeto Shapes
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.