Shape-Objekt (Project)
Stellt ein Objekt in einem Project-Bericht dar, z. B. ein Diagramm, eine Berichtstabelle, ein Textfeld, eine Freihandformzeichnung oder ein Bild.
Das Shape-Objekt ist ein Element der Shapes-Auflistung , die alle Shapes im Bericht enthält.
Hinweis
Die Makroaufzeichnung für das Shape-Objekt ist nicht implementiert. Das heißt, wenn Sie ein Makro in Project aufzeichnen und manuell eine Form hinzufügen oder Shape-Elemente bearbeiten, werden die Schritte zum Hinzufügen und Bearbeiten der Form nicht aufgezeichnet.
Es gibt drei Objekte, die Formen darstellen: die Shapes-Auflistung , die alle Formen in einem Dokument darstellt; das ShapeRange-Objekt , das eine angegebene Teilmenge der Formen in einem Dokument darstellt (z. B. könnte ein ShapeRange-Objekt die Shapes 1 und vier im Dokument darstellen oder alle ausgewählten Formen im Dokument darstellen); und das Shape-Objekt , das eine einzelne Form in einem Dokument darstellt. Wenn Sie mit mehreren Formen gleichzeitig oder mit Formen innerhalb einer Auswahl arbeiten möchten, verwenden Sie eine Sammlung ShapeRange.
Verwenden Sie Shapes(Index)
, wobei Index der Shape-Name oder die Indexnummer ist, um ein einzelnes Shape-Objekt zurückzugeben.
Im folgenden Beispiel erstellt das TestTextShape-Makro eine Textfeldform, fügt Text hinzu und ändert die Eigenschaften für Formart, Füllung, Linie, Schatten und Reflektion. Das FlipShape-Makro kippt die Form von oben nach unten.
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
Abbildung 1 zeigt das Ergebnis, in dem die Form ausgewählt ist, um die Registerkarte FORMAT des Menübands unter ZEICHENTOOLS verfügbar zu machen, obwohl die aktive Registerkarte ENTWURF unter BERICHTSTOOLS ist. Wenn die Form nicht ausgewählt wäre, wären ZEICHENTOOLS und die Registerkarte FORMAT nicht sichtbar.
Abbildung 1: Testen des Form-Objektmodells
Name |
---|
Apply |
Copy |
Cut |
Delete |
Duplicate |
Flip |
IncrementLeft |
IncrementRotation |
IncrementTop |
PickUp |
RerouteConnections |
ScaleHeight |
ScaleWidth |
Select |
SetShapesDefaultProperties |
Ungroup |
ZOrder |
Diagrammobjekt des Berichtsobjekts
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.