Shape オブジェクト (PowerPoint)Shape object (PowerPoint)

オートシェイプ、フリーフォーム、OLE オブジェクト、図などの描画オブジェクトを表します。Represents an object in the drawing layer, such as an AutoShape, freeform, OLE object, or picture.



図形を表す3つのオブジェクトがあり**** ます。 shapes コレクションは、文書のすべての図形を表します。shaperange コレクションは、文書の図形の指定したサブセットを表します。たとえば、 shaperangeオブジェクトは、文書の1番目と4番目の図形を表すことができます。または、文書で選択されたすべての図形を表すことができます。図面上の1つの図形を表すshapeオブジェクトを指定します。There are three objects that represent shapes: the Shapes collection, which represents all the shapes on a document; the ShapeRange collection, which represents a specified subset of the shapes on a document (for example, a ShapeRange object could represent shapes one and four on the document, or it could represent all the selected shapes on the document); and the Shape object, which represents a single shape on a document. 複数の図形を同時に操作したり、選択範囲内の図形を使ったりするには、 ShapeRangeコレクションを使用します。If you want to work with several shapes at the same time or with shapes within the selection, use a ShapeRange collection.

1つの図形または同時に複数の図形を操作する方法の概要については、「図形を操作する (描画オブジェクト)」を参照してください。For an overview of how to work with either a single shape or with more than one shape at a time, see Work with shapes (drawing objects).

次の使用例は、次の方法を示しています。The following examples describe how to:

  • 名前または番号でインデックスが付けられたスライドの既存の図形を取得するReturn an existing shape on a slide, indexed by name or number.

  • スライドに新しく作成した図形を取得するReturn a newly created shape on a slide.

  • 選択範囲内の図形を取得するReturn a shape within the selection.

  • スライドのスライド タイトルおよび他のプレースホルダーを取得するReturn the slide title and other placeholders on a slide.

  • コネクタの端に接続された図形を取得するReturn the shapes attached to the ends of a connector.

  • プレゼンテーションのオートシェイプの既定値を取得するReturn the default shape for a presentation.

  • 新しく作成したフリーフォームを取得するReturn a newly created freeform.

  • グループ化した図形の中から単一の図形を取得するReturn a single shape from within a group.

  • 新しくグループ化した図形を取得するReturn a newly formed group of shapes.


スライド上の図形を表すshapeオブジェクトを取得するには、 Shapes (index) を使用します。_引数 index_には、図形名またはインデックス番号を指定します。Use Shapes (index), where index is the shape name or the index number, to return a Shape object that represents a shape on a slide. 次の使用例は、myDocument の Rectangle 1 という名前の図形 1 を水平に反転します。The following example horizontally flips shape one and the shape named Rectangle 1 on myDocument.

Set myDocument = ActivePresentation.Slides(1)

myDocument.Shapes(1).Flip msoFlipHorizontal

myDocument.Shapes("Rectangle 1").Flip msoFlipHorizontal

Shapes コレクションに図形を追加すると、各図形には既定の名前が割り当てられます。Each shape is assigned a default name when you add it to the Shapes collection. 図形に任意の名前を付けるには、Name プロパティを使用します。To give the shape a more meaningful name, use the Name property. 次の使用例は、 _myDocument_に四角形を追加し、それに赤い正方形を付けて、その前の色と線のスタイルを設定します。The following example adds a rectangle to myDocument, gives it the name Red Square, and then sets its foreground color and line style.

Set myDocument = ActivePresentation.Slides(1)

With myDocument.Shapes.AddShape(Type:=msoShapeRectangle, _

        Top:=144, Left:=144, Width:=72, Height:=72)

    .Name = "Red Square"

    .Fill.ForeColor.RGB = RGB(255, 0, 0)

    .Line.DashStyle = msoLineDashDot

End With

スライドに図形を追加し、新しく作成された図形を表すshapeオブジェクトを取得するには、 Shapesコレクションの次のいずれかのメソッドを使用します。 Add3DModeladdcalloutaddcalloutaddcalloutaddlabeladdlabeladdmediaobjectaddlabeladdlabelAddPlaceholderaddlabelAddShapeaddlabeladdlabelAddTextEffectaddtitleTo add a shape to a slide and return a Shape object that represents the newly created shape, use one of the following methods of the Shapes collection: Add3DModel, AddCallout, AddConnector, AddCurve, AddLabel, AddLine, AddMediaObject, AddOLEObject, AddPicture, AddPlaceholder, AddPolyline, AddShape, AddTable, AddTextbox, AddTextEffect, AddTitle.

選択範囲内の図形を表すshapeオブジェクトを取得するには、ShapeRange (index) を使用します。 _引数 index_には、図形名またはインデックス番号を指定します。Use Selection.ShapeRange (index), where index is the shape name or the index number, to return a Shape object that represents a shape within the selection. 次の使用例は、選択範囲内に少なくとも 1 つの図形があると仮定して、アクティブ ウィンドウの選択範囲内にある最初の図形に塗りつぶしを設定します。The following example sets the fill for the first shape in the selection in the active window, assuming that there's at least one shape in the selection.

ActiveWindow.Selection.ShapeRange(1).Fill _

    .ForeColor.RGB = RGB(255, 0, 0)

既存のスライド タイトルを表す Shape オブジェクトを取得するには、Shapes.Title を使用します。Use Shapes.Title to return a Shape object that represents an existing slide title. まだタイトルがないスライドにタイトルを追加し、新しく追加したタイトルを表す Shape オブジェクトを取得するには、Shapes.AddTitle を使用します。Use Shapes.AddTitle to add a title to a slide that doesn't already have one and return a Shape object that represents the newly created title. プレースホルダーを表すShapeオブジェクトを取得するには、Shapes (index) を使用します。 _引数 index_には、プレースホルダーのインデックス番号を指定します。Use Shapes.Placeholders (index), where index is the placeholder's index number, to return a Shape object that represents a placeholder. スライドの図形の重ね合わせの順序が同じで、スライド 1 にタイトルが含まれている場合、次の 3 つのステートメントでは、同じ結果が得られます。If you have not changed the layering order of the shapes on a slide, the following three statements are equivalent, assuming that slide one has a title.

ActivePresentation.Slides(1).Shapes.Title _

    .TextFrame.TextRange.Font.Italic = True

ActivePresentation.Slides(1).Shapes.Placeholders(1) _

    .TextFrame.TextRange.Font.Italic = True

ActivePresentation.Slides(1).Shapes(1).TextFrame _

    .TextRange.Font.Italic = True

コネクタによって接続された図形の1つを表すShapeオブジェクトを取得するには、 beginconnectedshape または**endconnectedshape** プロパティを使用します。To return a Shape object that represents one of the shapes attached by a connector, use the BeginConnectedShape or EndConnectedShape property.

プレゼンテーションの既定の図形を表すshapeオブジェクトを取得するには、 defaultshape プロパティを使用します。To return a Shape object that represents the default shape for a presentation, use the DefaultShape property.

新しいフリーフォームのジオメトリ**** を定義するには、 buildfreeform メソッドを使用します。フリーフォームを作成するには、 converttoshape メソッドを使用します。この場合、フリーフォームを作成し、それを表すshapeオブジェクトを返します。Use the BuildFreeform and AddNodes methods to define the geometry of a new freeform, and use the ConvertToShape method to create the freeform and return the Shape object that represents it.

グループ化した図形内の単一の図形を表すshapeオブジェクトを取得するには、 groupitems (index) を使用します。_引数 index_には、グループ内の図形名またはインデックス番号を指定します。Use GroupItems (index), where index is the shape name or the index number within the group, to return a Shape object that represents a single shape in a grouped shape.

図形範囲をグループ**** 化し、新しく形成されたグループを表す1つのShapeオブジェクトを取得するのにには、グループ または再グループ化メソッドを使用します。Use the Group or Regroup method to group a range of shapes and return a single Shape object that represents the newly formed group. グループを形成すると、他の図形を処理するのと同じようにグループを処理できます。After a group has been formed, you can work with the group the same way you work with any other shape.



関連項目See also

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.