Objet Shape (Project)
Représente un objet dans un rapport Project, tel qu’un graphique, un tableau de rapport, une zone de texte, un dessin de forme libre ou une image.
L’objet Shape est membre de la collection Shapes , qui inclut toutes les formes du rapport.
Notes
L’enregistrement de macro pour l’objet Shape n’est pas implémenté. Autrement dit, lorsque vous enregistrez une macro dans Project et que vous ajoutez manuellement une forme ou modifiez des éléments de forme, les étapes d’ajout et de manipulation de la forme ne sont pas enregistrées.
Trois objets représentent des formes : la collection Shapes , qui représente toutes les formes d’un document ; l’objet ShapeRange , qui représente un sous-ensemble spécifié des formes d’un document (par exemple, un objet ShapeRange peut représenter des formes un et quatre sur le document, ou il peut représenter toutes les formes sélectionnées sur le document) ; et l’objet Shape , qui représente une forme unique sur un document. Pour utiliser plusieurs formes simultanément ou des formes faisant partie de la sélection, utilisez une collection ShapeRange.
Utilisez Shapes(Index)
, où Index est le nom de la forme ou le numéro d’index, pour renvoyer un seul objet Shape .
Dans l’exemple suivant, la macro TestTextShape crée une forme de zone de texte, ajoute du texte et modifie le style de forme, le remplissage, le trait, l’ombre et les propriétés de réflexion. La macro FlipShape retourne la forme de haut en bas.
Sub TestTextShape()
Dim theReport As Report
Dim textShape As Shape
Dim reportName As String
reportName = "Simple scalar chart"
Set theReport = ActiveProject.Reports(reportName)
Set textShape = theReport.Shapes.AddTextbox(msoTextOrientationHorizontal, 30, 30, 300, 100)
textShape.Name = "TestTextBox"
textShape.TextFrame2.TextRange.Characters.Text = "This is a test. It's only a test. " _
& "If it had been real information, there would be some real text here."
textShape.TextFrame2.TextRange.Characters(1, 15).ParagraphFormat.FirstLineIndent = 0
' Set the font for the first 15 characters to dark blue bold.
With textShape.TextFrame2.TextRange.Characters(1, 15).Font
.Fill.Visible = msoTrue
.Fill.ForeColor.ObjectThemeColor = msoThemeColorAccent5
.Fill.Transparency = 0
.Fill.Solid
.Size = 14
.Bold = msoTrue
End With
textShape.ShapeStyle = msoShapeStylePreset42
With textShape.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 255, 0)
.Transparency = 0
'.Solid
End With
With textShape.Line
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorText1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0
.Transparency = 0
End With
textShape.Shadow.Type = msoShadow22
textShape.Reflection.Type = msoReflectionType3
End Sub
Sub FlipShape()
Dim theReport As Report
Dim theShape As Shape
Dim reportName As String
Dim shapeName As String
reportName = "Simple scalar chart"
shapeName = "TestTextBox"
Set theShape = ActiveProject.Reports(reportName).Shapes(shapeName)
theShape.Flip msoFlipVertical
theShape.Select
End Sub
La figure 1 montre le résultat, où la forme est sélectionnée pour rendre disponible l’onglet FORMAT du ruban sous OUTILS DE DESSIN , bien que l’onglet actif soit CRÉATION sous OUTILS DE RAPPORT. Si la forme n’est pas sélectionnée, OUTILS DESSIN et l’onglet FORMAT ne sont pas visibles.
Figure 1. Test du modèle objet de forme
Nom |
---|
Appliquer |
Copy |
Cut |
Supprimer |
Duplicate |
Flip |
IncrementLeft |
IncrementRotation |
IncrementTop |
PickUp |
RerouteConnections |
ScaleHeight |
ScaleWidth |
Select |
SetShapesDefaultProperties |
Ungroup |
ZOrder |
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.