Shape オブジェクト (Word)

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

注釈

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

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

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

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

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

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

指定した文書の図形のコレクションに Shape オブジェクトを追加し、新しく作成した図形を表す Shape オブジェクトを返すには、次のいずれかのメソッドを使用します。 AddCalloutAddCurveAddLabelAddLineAddOleControl、AddOleObjectAddPolylineAddShapeAddTextbox、AddTextEffect、または 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 メソッドを使用して、ある図形から別の図形に書式を転送します。

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

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

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

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

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

メソッド

プロパティ

関連項目

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

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