Método Shapes.Range (Project)
Retorna um objeto ShapeRange que representa um subconjunto de formas na 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 | Obrigatório | Variantes | Especifica uma ou mais formas a serem incluídas no intervalo. Pode ser um inteiro para o número de índice de uma forma, uma cadeia de caracteres para o nome de uma forma ou uma matriz que contém inteiros ou cadeias de caracteres. |
Índice | Obrigatório | Variantes | |
Nome | Obrigatório/Opcional | Tipo de dados | Descrição |
Valor de retorno
ShapeRange
O intervalo de formas especificadas pelo parâmetro Index .
Comentários
Observação
A maioria das operações que você pode fazer com que um objeto Shape você também pode fazer com um objeto ShapeRange que contém uma única forma. Algumas operações, quando executadas em um objeto ShapeRange que contém várias formas, gerar um erro.
Embora você possa usar a propriedade Range para retornar qualquer número de formas em um relatório, é mais simples usar a propriedade Value padrão para retornar uma única Forma na coleção. Por exemplo, Shapes(1)
é mais simples do que Shapes.Range(1)
.
Para especificar uma matriz de inteiros ou cadeias de caracteres para o parâmetro Index , você pode usar a função Matriz . Por exemplo, a macro a seguir seleciona duas formas especificadas pelo nome.
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
Exemplo
Se você criar um relatório com duas caixas de texto, como no código anterior, a macro a seguir selecionará as caixas de texto por número de índice e adicionará uma sombra a cada uma delas.
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
Confira também
Objeto ShapeRange do Objeto ShapeRange de Formas
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.