Shape オブジェクト (Word)

オートシェイプ、フリー​​フォーム、OLE オブジェクト、ActiveX コントロール、画像などの描画レイヤー内のオブジェクトを表します。 Shape オブジェクトは、Shapes コレクションのメンバーであり、Shapes コレクションには、文書のメイン ストーリー、または文書のすべてのヘッダーとフッターにあるすべての図形が含まれます。

注釈

図形は、常にアンカー設定範囲に配置されます。 アンカーを含むページ上の任意の場所に図形を配置できます。

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

単一の Shape オブジェクトを返すには、Shapes (index) を使用します。ここで、index は名前またはインデックス番号です。 次の使用例は、作業中の文書の最初の図形を左右に反転します。

ActiveDocument.Shapes(1).Flip msoFlipHorizontal

次の例では、アクティブなドキュメント上の Rectangle 1 という名前の図形を水平方向に反転します。

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

各図形には、作成時に既定の名前が付けられます。 たとえば、文書に 3 つの異なる図形を追加すると、"Rectangle 2"、"Text Box 3"、"Oval 4" のように名前が付けられます。 図形にわかりやすい名前を付けるには、 Name プロパティを使用します。

ShapeRange (index) を使用します。ここで index は名前またはインデックス番号で、選択範囲内の図形を表す Shape オブジェクトを返します。 次の使用例は、選択範囲に少なくとも 1 つの図形が含まれている場合、選択範囲の最初の図形に塗りつぶしを設定します。

Selection.ShapeRange(1).Fill.ForeColor.RGB = RGB(255, 0, 0)

次の使用例は、選択範囲に少なくとも 1 つの図形が含まれている場合、選択範囲内のすべての図形に塗りつぶしを設定します。

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

指定したドキュメントの図形のコレクションに Shape オブジェクトを追加し、新しく作成した図形を表す Shape オブジェクトを返すには、Shapes コレクションの AddCalloutAddCurveAddLabelAddLineAddOleControlAddOleObjectAddPolylineAddShape、AddTextboxAddTextEffect、または BuildFreeForm のいずれかのメソッドを使用します。 次の例では、作業中のドキュメントに四角形を追加します。

ActiveDocument.Shapes.AddShape msoShapeRectangle, 50, 50, 100, 200

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

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

すべての Shape オブジェクトでは、文字列範囲にアンカーが配置されます。 図形は、アンカーが配置された範囲の含まれる最初の段落に対応付けられます。 その図形は、必ずアンカーのあるページと同じページに配置されます。

ShowObjectAnchors プロパティを True に設定すると、アンカー自体を表示できます。 図形の Top プロパティと Left プロパティによって、図形の垂直方向と水平方向の位置が決まります。 図形の RelativeHorizontalPosition プロパティと RelativeVerticalPosition プロパティによって、配置の基準 (アンカー設定している段落、アンカー設定している段落を含んでいる列、余白、またはページの端からの位置) が決まります。

図形の LockAnchor プロパティは True に設定されている場合は、ページ上の位置からアンカーをドラッグできません。

Fill プロパティを使用して FillFormat オブジェクトを返します。このオブジェクトには、閉じた図形の塗りつぶしを書式設定するためのすべてのプロパティとメソッドが含まれています。

Shadow プロパティでは、ShadowFormat オブジェクトを取得します。このオブジェクトは影付きの書式設定に使用します。

Line プロパティは、LineFormat オブジェクトを取得する場合に使用します。このオブジェクトには、線と矢印の書式設定に関するプロパティとメソッドが含まれています。

TextEffect プロパティでは、TextEffectFormat オブジェクトを取得します。このオブジェクトはワードアートの書式設定に使用します。

Callout プロパティでは、CalloutFormat オブジェクトを取得します。このオブジェクトは線吹き出しの書式設定に使用します。

WrapFormat プロパティでは、WrapFormat オブジェクトを取得します。このオブジェクトは図形の周囲の文字列の折り返しを定義するために使用します。

ThreeD プロパティは、3D 図形の作成に使用する ThreeDFormat オブジェクトを返します。

PickUp メソッドと Apply メソッドを使用して、1 つの図形から別の図形に書式を転送します。

文書の既定の図形の書式を設定するには、Shape オブジェクトに対して SetShapesDefaultProperties メソッドを使用します。 新しく図形を作成すると、その図形は既定の図形から大部分の属性を継承します。

Type プロパティを使用して、図形の種類を指定します。たとえば、フリーフォーム、オートシェイプ、OLE オブジェクト、吹き出し、リンクされた画像などです。 AutoShapeType プロパティを使用し、オートシェイプの種類 (楕円、四角形、吹き出しなど) を指定します。

図形の大きさを指定するには、 Width プロパティと Height プロパティを使用します。

TextFrame プロパティは TextFrame オブジェクトを返します。このオブジェクトには、テキストを図形に添付したり、テキストをテキスト フレーム間でリンクしたりするためのすべてのプロパティとメソッドが含まれています。

Shape オブジェクトは、文字列範囲にアンカーが配置されていますが、位置が固定されていないので、そのページの中のどこにでも配置することができます。 InlineShape オブジェクトは、文字と同じように扱われ、本文の行の中に文字として配置されます。 ConvertToInlineShape メソッドと ConvertToShape メソッドを使用して、図形をある型から別の型に変換します。 位置を固定した図形に変換できるのは、図、OLE オブジェクト、および ActiveX コントロールだけです。

メソッド

プロパティ

関連項目

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

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