![]() ![]() ![]() ![]() ![]() ![]() |
Stellt ein Objekt in der Zeichnungsebene dar, z. B. eine AutoForm, ein Freihandobjekt, ein OLE-Objekt oder ein Bild. Das Shape-Objekt ist ein Element der Shapes-Auflistung. Die Shapes-Auflistung enthält alle Formen einer Folie.
Anmerkung Es gibt drei Objekte, die Formen darstellen: Die Shapes-Auflistung stellt alle Formen eines Dokuments dar; die ShapeRange-Auflistung stellt einen angegebenen Teilbereich der Formen eines Dokuments dar (beispielsweise könnte ein ShapeRange-Objekt die erste und die vierte Form oder alle markierten Formen in einem Dokument darstellen); und das Shape-Objekt stellt eine einzelne Form eines Dokuments dar. Wenn Sie mit mehreren Formen gleichzeitig oder mit Formen innerhalb einer Markierung arbeiten möchten, verwenden Sie eine ShapeRange-Auflistung. Einen Überblick über die Arbeit mit einer einzelnen Form oder mit mehreren Formen gleichzeitig finden Sie unter Arbeiten mit Formen (Zeichnungsobjekte).
Verwenden des Shape-Objekts
Dieser Abschnitt beschreibt:
Zurückgeben einer bestehenden Form
Verwenden Sie Shapes(Index), wobei Index der Name oder die Indexnummer der Form ist, um ein Shape-Objekt zurückzugeben, das die eine Form darstellt. Im folgenden Beispiel werden in myDocument das erste Rechteck und das Rechteck "Rechteck1" horizontal gekippt.
Set myDocument = Worksheets(1) myDocument.Shapes(1).Flip msoFlipHorizontal myDocument.Shapes("Rectangle 1").Flip msoFlipHorizontal
Jeder Form wird ein Standardname zugewiesen, wenn Sie sie der Shapes-Auflistung hinzufügen. Wenn Sie der Form einen aussagekräftigeren Namen geben möchten, verwenden Sie die Name-Eigenschaft. Im folgenden Beispiel wird in myDocument ein Rechteck eingefügt. Ihm werden der Name "Red Square" sowie Vordergundfarbe und Linienart zugewiesen.
Set myDocument = Worksheets(1) With myDocument.Shapes.AddShape(msoShapeRectangle, _ 144, 144, 72, 72) .Name = "Red Square" .Fill.ForeColor.RGB = RGB(255, 0, 0) .Line.DashStyle = msoLineDashDot End With
Zurückgeben einer Form innerhalb der Markierung
Verwenden Sie Selection.ShapeRange(Index), wobei Index der Name oder die Indexnummer der Form ist, um ein Shape-Objekt zurückzugeben, das eine Form innerhalb der Markierung darstellt. Im folgenden Beispiel wird davon ausgegangen, dass mindestens eine Form markiert ist, und die Füllung für die erste Form der Markierung im aktiven Fenster festgelegt.
ActiveWindow.Selection.ShapeRange(1).Fill.ForeColor.RGB = _ RGB(255, 0, 0)
Zurückgeben der Formen, die den Enden einer Verbindung zugeordnet sind
Um ein Shape-Objekt zurückzugeben, das eine der Formen, die einer Verbindung zugeordnet sind, darstellt, verwenden Sie die BeginConnectedShape- oder die EndConnectedShape-Eigenschaft.
Zurückgeben eines neu erstellten Freihandobjekts
Verwenden Sie die BuildFreeform- und die AddNodes-Methode, um die Geometrie eines neuen Freihandobjekts zu definieren, und die ConvertToShape-Methode, um das Freihandobjekt zu erstellen und das Shape-Objekt, das es darstellt, zurückzugeben.
Zurückgeben einer Form aus einer Gruppe
Verwenden Sie GroupItems(Index), wobei Index Name oder Indexnummer der Form innerhalb der Gruppe ist, um ein Shape-Objekt zurückzugeben, das eine einzelne Form aus einer Gruppe darstellt.
Zurückgeben einer neu gebildeten Gruppe von Formen
Verwenden Sie die Group- oder die Regroup-Methode, um einen Formbereich zu gruppieren und ein einzelnes Shape-Objekt zurückzugeben, das die neu gebildete Gruppe darstellt. Nach dem Bilden einer Gruppe können Sie mit ihr auf die gleiche Weise arbeiten wie mit einer anderen Form.