Shape-Objekt (Publisher)
Stellt ein Objekt in der Zeichnungsebene, wie beispielsweise eine AutoForm, Freihandform, OLE-Objekt, ActiveX-Steuerelement oder Bild. Shape -Objekts ist ein Element der Shapes -Auflistung, die alle Formen auf einer Seite oder in einer Auswahl enthält.
Hinweis
Es gibt drei Objekte, die Formen darstellen:
- Die Shapes-Auflistung , die alle Formen in einem Dokument darstellt.
- Die ShapeRange-Auflistung , die eine angegebene Teilmenge der Formen in einem Dokument darstellt (z. B. kann ein ShapeRange-Objekt die Shapes 1 und vier im Dokument darstellen oder alle ausgewählten Formen im Dokument darstellen).
- 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.
Hinweise
Zurückgeben einer vorhandenen Form in einem Dokument
Verwenden Sie Shapes (Index), wobei index der Name oder die Indexnummer ist, um ein einzelnes Shape-Objekt zurückzugeben.
Jedes Shape erhält einen Standardnamen erstellt wird. Wenn Sie z. B. einem Dokument drei verschiedene Formen hinzufügen, können diese als Rechteck 2, Textfeld 3 und Oval 4 bezeichnet werden. Um einem Shape einen aussagekräftigeren Namen zu geben, legen Sie die Name-Eigenschaft der Form fest.
Zurückgeben einer Form oder Formen innerhalb einer Auswahl
Verwenden Sie Selection.ShapeRange (Index), wobei index der Name oder die Indexnummer ist, um ein Shape-Objekt zurückzugeben, das eine Form innerhalb einer Auswahl darstellt.
Zurückgeben einer neu erstellten Form
Um der Auflistung von Shapes für das angegebene Dokument ein Shape-Objekt hinzuzufügen und ein Shape-Objekt zurückzugeben, das die neu erstellte Form darstellt, verwenden Sie eine der folgenden Methoden der Shapes-Auflistung :
- AddCallout
- AddConnector
- AddCurve
- AddLabel
- AddLine
- AddOLEObject
- AddPolyline
- AddShape
- AddTextBox
- AddTextEffect
Arbeiten mit einer Gruppe von Formen
Verwenden Sie GroupItems (Index), wobei index der Name der Form oder die Indexnummer innerhalb der Gruppe ist, um ein Shape-Objekt zurückzugeben, das eine einzelne Form in einer gruppierten Form darstellt. Verwenden Sie die ShapeRange.Group - oder Regroup-Methode , um einen Bereich von Formen zu gruppieren und ein einzelnes Shape-Objekt zurückzugeben, das die neu gebildete Gruppe darstellt. Nachdem eine Gruppe gebildet wurde, können Sie mit der Gruppe genauso arbeiten wie mit jeder anderen Form.
Formatieren einer Form
Verwenden Sie die AutoShapeType-Eigenschaft , um den Typ der AutoForm anzugeben: z. B. Oval, Rechteck oder Sprechblase.
Verwenden Sie die Callout-Eigenschaft , die das CalloutFormat-Objekt zurückgibt, um Zeilenbeschriftungen zu formatieren.
Verwenden Sie die Fill -Eigenschaft, um das FillFormat -Objekt zurückzugeben, das alle Eigenschaften und Methoden zum Formatieren der Füllung einer geschlossenen Form enthält.
Verwenden Sie die Line -Eigenschaft um ein LineFormat -Objekt zurückzugeben, die Eigenschaften und Methoden zum Formatieren von Linien und Pfeilen enthält.
Verwenden Sie die Methoden PickUp und Apply , um formatierungen von einer Form auf eine andere zu übertragen.
Verwenden Sie die SetShapesDefaultProperties-Methode , um die Formatierung für die Standardform für das Dokument festzulegen. Neue Formen erben viele Attribute von der Standardform.
Verwenden Sie die Shadow-Eigenschaft , die das ShadowFormat-Objekt zurückgibt, um einen Schatten zu formatieren.
Verwenden Sie die TextEffect-Eigenschaft , die das TextEffectFormat-Objekt zurückgibt, um WordArt zu formatieren.
Verwenden Sie die Eigenschaften TextFrame und Cell.TextRange , um die Objekte TextFrame bzw . TextRange zurückzugeben, die alle Eigenschaften und Methoden zum Einfügen und Formatieren von Text in Formen und Veröffentlichungen sowie zum Verknüpfen der Textrahmen enthalten.
Verwenden Sie die TextWrap-Eigenschaft , die das WrapFormat-Objekt zurückgibt, um zu definieren, wie Text um Formen umbrochen wird.
Verwenden Sie die ThreeD-Eigenschaft , die das ThreeDFormat-Objekt zurückgibt, um 3D-Shapes zu erstellen.
Verwenden Sie die Type-Eigenschaft , um den Typ der Form anzugeben: z. B. Freihandform, AutoForm, OLE-Objekt, Legende oder verknüpfte Grafik.
Verwenden Sie die Eigenschaften Width und Height, um die Größe der Form anzugeben.
Beispiel
Das folgende Beispiel kippt die Form 1 im aktiven Dokument horizontal.
Sub FlipShape()
ActiveDocument.Pages(1).Shapes(1).Flip FlipCmd:=msoFlipHorizontal
End Sub
Im folgenden Beispiel wird die Form "Rectangle 1" im aktiven Dokument horizontal umgedreht.
Sub FlipShapeByName()
ActiveDocument.Pages(1).Shapes("Rectangle 1") _
.Flip FlipCmd:=msoFlipHorizontal
End Sub
Das folgende Beispiel legt die Füllung für die erste Form in der Auswahl, vorausgesetzt, dass die Auswahl mindestens eine Form enthält.
Sub FillSelectedShape()
Selection.ShapeRange(1).Fill.ForeColor.RGB = RGB(255, 0, 0)
End Sub
Im folgenden Beispiel wird die Füllung für alle Formen in der Auswahl festgelegt. Voraussetzung dafür ist, dass sich in der Auswahl mindestens eine Form befindet.
Sub FillAllSelectedShapes()
Dim shpShape As Shape
For Each
shpShape In Selection.ShapeRange
shpShape.Fill.ForeColor.RGB = RGB(Red:=255, Green:=0, Blue:=0)
Next shpShape
End Sub
Im folgenden Beispiel wird das aktive Dokument ein Rechteck hinzugefügt.
Sub AddNewShape()
ActiveDocument.Pages(1).Shapes.AddShape Type:=msoShapeRectangle, _
Left:=400, Top:=72, Width:=100, Height:=200
End Sub
In diesem Beispiel werden der aktiven Publikation drei Formen hinzugefügt, die Shapes gruppiert und die Füllfarbe für jedes der Shapes in der Gruppe festgelegt.
Sub WorkWithGroupShapes()
With ActiveDocument.Pages(1).Shapes
.AddShape Type:=msoShapeIsoscelesTriangle, Left:=100, _
Top:=72, Width:=100, Height:=100
.AddShape Type:=msoShapeIsoscelesTriangle, Left:=250, _
Top:=72, Width:=100, Height:=100
.AddShape Type:=msoShapeIsoscelesTriangle, Left:=400, _
Top:=72, Width:=100, Height:=100
.SelectAll
With Selection.ShapeRange
.Group
.GroupItems(1).Fill.ForeColor _
.RGB = RGB(Red:=255, Green:=0, Blue:=0)
.GroupItems(2).Fill.ForeColor _
.RGB = RGB(Red:=0, Green:=255, Blue:=0)
.GroupItems(3).Fill.ForeColor _
.RGB = RGB(Red:=0, Green:=0, Blue:=255)
End With
End With
End Sub
Im folgenden Beispiel wird der ersten Seite der aktiven Publikation ein Textfeld hinzugefügt, der dann Text hinzugefügt und der Text formatiert wird.
Sub CreateNewTextBox()
With ActiveDocument.Pages(1).Shapes.AddTextbox( _
Orientation:=pbTextOrientationHorizontal, Left:=100, _
Top:=100, Width:=200, Height:=100).TextFrame.TextRange
.Text = "This is a textbox."
With .Font
.Name = "Stencil"
.Bold = msoTrue
.Size = 30
End With
End With
End Sub
Methoden
- AddToCatalogMergeArea
- Apply
- Copy
- Cut
- Delete
- Duplicate
- Flip
- GetHeight
- GetLeft
- GetTop
- GetWidth
- IncrementLeft
- IncrementRotation
- IncrementTop
- MoveIntoTextFlow
- MoveOutOfTextFlow
- MoveToPage
- PickUp
- RemoveCatalogMergeArea
- RemoveFromCatalogMergeArea
- RerouteConnections
- SaveAsBuildingBlock
- SaveAsPicture
- ScaleHeight
- ScaleWidth
- Select
- SetCaption
- SetShapesDefaultProperties
- Ungroup
- ZOrder
Eigenschaften
- Adjustments
- AlternativeText
- Application
- AutoShapeType
- BlackWhiteMode
- Zierrahmen
- Callout
- CatalogMergeItems
- ConnectionSiteCount
- Connector
- ConnectorFormat
- Fill
- Glow
- GroupItems
- HasTable
- HasTextFrame
- Height
- HorizontalFlip
- Hyperlink
- ID
- InlineAlignment
- InlineTextRange
- IsExcess
- IsGroupMember
- IsInline
- Left
- Line
- LinkFormat
- LockAspectRatio
- Name
- Nodes
- OLEFormat
- Parent
- ParentGroupShape
- PictureFormat
- Reflection
- Rotation
- Shadow
- SoftEdge
- Table
- Tags
- TextEffect
- TextFrame
- TextWrap
- ThreeD
- Top
- Typ
- VerticalFlip
- Vertices
- WebCheckBox
- WebCommandButton
- WebListBox
- WebNavigationBarSetName
- WebOptionButton
- WebTextBox
- Width
- Assistent
- WizardTag
- WizardTagInstance
- ZOrderPosition
Siehe auch
Support und Feedback
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.