Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Возвращает объект ShapeRange , представляющий подмножество фигур в коллекции Shapes .
Синтаксис
expression. Диапазон (индекс)
выражение: переменная, представляющая объект Shapes.
Параметры
| Имя | Обязательный или необязательный | Тип данных | Описание |
|---|---|---|---|
| Индекс; | Обязательный | Variant | Указывает одну или несколько фигур, которые будут включены в диапазон. Может быть целым числом для индекса фигуры, строкой для имени фигуры или массивом, содержащим целые числа или строки. |
| Индекс; | Обязательный | Variant | |
| Имя | Обязательный или необязательный | Тип данных | Описание |
Возвращаемое значение
ShapeRange
Диапазон фигур, заданных параметром Index .
Замечания
Примечание.
Большинство операций, которые можно выполнить с объектом Shape , можно также выполнить с помощью объекта ShapeRange , содержащего одну фигуру. При выполнении некоторых операций с объектом ShapeRange , содержащим несколько фигур, возникает ошибка.
Хотя свойство Range можно использовать для возврата любого количества фигур в отчете, проще использовать свойство Value по умолчанию для возврата одной фигуры в коллекции. Например, проще, Shapes(1) чем Shapes.Range(1).
Чтобы указать массив целых чисел или строк для параметра Index , можно использовать функцию Array . Например, следующий макрос выбирает две фигуры, указанные по имени.
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
Пример
При создании отчета с двумя текстовыми полями, как в предыдущем коде, следующий макрос выделяет текстовые поля по номеру индекса, а затем добавляет тень к каждому из них.
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
См. также
Объект ShapeRangeОбъекта Фигуры
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.