Shapes.Range, méthode (Project)
Renvoie un objet ShapeRange qui représente un sous-ensemble de formes dans la collection Shapes .
Syntaxe
expression. Plage (index)
expression Variable qui représente un objet Shapes.
Paramètres
Nom | Requis/Facultatif | Type de données | Description |
---|---|---|---|
Index | Obligatoire | Variant | Spécifie une ou plusieurs formes à inclure dans la plage. Il peut s’agir d’un entier pour le numéro d’index d’une forme, d’une chaîne pour le nom d’une forme ou d’un tableau qui contient des entiers ou des chaînes. |
Index | Obligatoire | Variant | |
Nom | Requis/Facultatif | Type de données | Description |
Valeur renvoyée
ShapeRange
Plage de formes spécifiée par le paramètre Index .
Remarques
Remarque
[!REMARQUE] La plupart des opérations que vous pouvez faire avec un objet Shape peuvent également être effectuées avec un objet ShapeRange qui contienne une seule forme. Certaines opérations sont effectuées sur un objet ShapeRange qui contient plusieurs formes, génère une erreur.
Bien que vous puissiez utiliser la propriété Range pour renvoyer un nombre quelconque de formes dans un état, il est plus simple d’utiliser la propriété Value par défaut pour renvoyer une seule forme dans la collection. Par exemple, Shapes(1)
est plus simple que Shapes.Range(1)
.
Pour spécifier un tableau d’entiers ou de chaînes pour le paramètre Index , vous pouvez utiliser la fonction Array . Par exemple, la macro suivante sélectionne deux formes spécifiées par nom.
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
Exemple
Si vous créez un rapport comportant deux zones de texte comme dans le code précédent, la macro suivante sélectionne les zones de texte par numéro d’index, puis ajoute une ombre à chacune d’elles.
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
Voir aussi
Shapes, objetShapeRange, objet
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.