Shape オブジェクト (PowerPoint)

オートシェイプ、フリーフォーム、OLE オブジェクト、図などの描画オブジェクトを表します。

注釈

注:

図形を表す 3 つのオブジェクトがあります。 Shapes コレクションは、ドキュメント上のすべての図形を表します。ドキュメント上の図形の指定されたサブセットを表す ShapeRange コレクション (たとえば、 ShapeRange オブジェクトは、ドキュメント上の図形 1 と 4 を表したり、ドキュメント上で選択したすべての図形を表したりできます)。と、ドキュメント上の 1 つの図形を表す Shape オブジェクト。 複数の図形を同時に操作する場合、または選択範囲内の図形を操作する場合は、 ShapeRange コレクションを使用します。

1 つの図形または一度に複数の図形を使用する方法の概要については、「 図形の操作 (描画オブジェクト)」を参照してください。

次の使用例は、次の方法を示しています。

  • 名前または番号でインデックスが付けられたスライドの既存の図形を取得する

  • スライドに新しく作成した図形を取得する

  • 選択範囲内の図形を取得する

  • スライドのスライド タイトルおよび他のプレースホルダーを取得する

  • コネクタの端に接続された図形を取得する

  • プレゼンテーションのオートシェイプの既定値を取得する

  • 新しく作成したフリーフォームを取得する

  • グループ化した図形の中から単一の図形を取得する

  • 新しくグループ化した図形を取得する

スライド上の図形を表す Shape オブジェクトを取得するには、Shapes (index) を使用します。index は図形名またはインデックス番号です。 次の使用例は、myDocument の Rectangle 1 という名前の図形 1 を水平に反転します。

Set myDocument = ActivePresentation.Slides(1)

myDocument.Shapes(1).Flip msoFlipHorizontal

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

Shapes コレクションに図形を追加すると、各図形には既定の名前が割り当てられます。 図形に任意の名前を付けるには、Name プロパティを使用します。 次の例では、 myDocument に四角形を追加し、赤い四角形という名前を付け、前景色と線のスタイルを設定します。

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 コレクションの次のいずれかのメソッドを使用します。Add3DModelAddCalloutAddConnectorAddCurveAddLabelAddLineAddMediaObjectAddOLEObjectAddPictureAddPlaceholderAddPolyline、AddShapeAddTableAddTextboxAddTextEffectAddTitle

Selection.ShapeRange (index) を使用して、index は図形名またはインデックス番号で、選択範囲内の図形を表す Shape オブジェクトを取得します。 次の使用例は、選択範囲内に少なくとも 1 つの図形があると仮定して、アクティブ ウィンドウの選択範囲内にある最初の図形に塗りつぶしを設定します。

ActiveWindow.Selection.ShapeRange(1).Fill _

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

既存のスライド タイトルを表す Shape オブジェクトを取得するには、Shapes.Title を使用します。 まだタイトルがないスライドにタイトルを追加し、新しく追加したタイトルを表す Shape オブジェクトを取得するには、Shapes.AddTitle を使用します。 プレースホルダーを表す Shape オブジェクトを取得するには、Shapes.Placeholders (index) を使用します。index はプレースホルダーのインデックス番号です。 スライドの図形の重ね合わせの順序が同じで、スライド 1 にタイトルが含まれている場合、次の 3 つのステートメントでは、同じ結果が得られます。

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

コネクタによってアタッチされた図形のいずれかを表す Shape オブジェクトを取得するには、 BeginConnectedShape プロパティまたは EndConnectedShape プロパティ 使用します。

プレゼンテーションの既定の図形を表す Shape オブジェクトを取得するには、 DefaultShape プロパティを使用します。

BuildFreeform メソッドと AddNodes メソッドを使用して新しいフリーフォームのジオメトリを定義し、ConvertToShape メソッドを使用してフリーフォームを作成し、それを表す Shape オブジェクトを返します。

GroupItems (index) を使用します。index は、グループ内の図形名またはインデックス番号で、グループ化された図形内の 1 つの図形を表す Shape オブジェクトを返します。

Group メソッドまたは Regroup メソッドを使用して、図形の範囲をグループ化し、新しく形成されたグループを表す単一の Shape オブジェクトを返します。 グループを形成すると、他の図形を処理するのと同じようにグループを処理できます。

メソッド

プロパティ

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。