図形オブジェクト (PowerPoint)

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

注釈

注:

図形を表すオブジェクトには次の 3 つがあります。 図形 コレクションは、ドキュメント上のすべての図形を表します。 ShapeRange コレクション。ドキュメント上の図形の指定されたサブセットを表します (たとえば、 ShapeRange オブジェクトは、ドキュメント上の図形 1 と 4 を表したり、ドキュメント上の選択されたすべての図形を表したりできます)。および Shape オブジェクト (ドキュメント上の 1 つの図形を表します)。 複数の図形を同時に操作する場合や、選択範囲内の図形を操作する場合は、 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 プロパティを使用します。 次の例では、 myDoc に四角形を追加し、「赤色の四角形」という名前を付けてから、前景色と線のスタイルを設定します。

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

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

ActiveWindow.Selection.ShapeRange(1).Fill _

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

既存のスライド タイトルを表す Shape オブジェクトを取得するには、Shapes.Title を使用します。 まだタイトルがないスライドにタイトルを追加し、新しく追加したタイトルを表す Shape オブジェクトを取得するには、Shapes.AddTitle を使用します。 Shapes.Placeholders (index) を使用して、プレースホルダーを表す Shape オブジェクトを返します。ここで 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 のサポートおよびフィードバックを参照してください。