Shapeオブジェクト

Shapeオブジェクトについての解説になります。

目次

Shapeオブジェクトとは

Shapeオブジェクトは、オートシェイプ、フリーフォーム、OLE オブジェクト、またはピクチャなど描画レイヤのオブジェクトを表します。Shape オブジェクトは、Shapes コレクションのメンバーです。Shapes コレクションは、文書のすべての図形を表します。

図形を表すオブジェクトは 3 つあります。文書のすべての図形を表す Shapes コレクション、文書の図形セットである図形範囲 (文書の図形 1 と図形 4、および選択したすべての図形など) を表す ShapeRange コレクション、および文書の単一の図形を表す Shape オブジェクトです。複数の図形、および選択範囲内の図形を同時に処理するには、ShapeRange コレクションを使用します。

図形を表す Shape オブジェクトを取得するには、Shapes(index) プロパティを使用します。引数 index には、図形名またはインデックス番号を指定します。次の使用例は、myDocument の Rectangle 1 という名前の図形 1 を水平に反転します。


Set myDocument = Worksheets(1)
myDocument.Shapes(1).Flip msoFlipHorizontal
myDocument.Shapes("Rectangle 1").Flip msoFlipHorizontal

※ドラッグ(スワイプ)すると全体を確認できます。

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


Set myDocument = Worksheets(1)
With myDocument.Shapes.AddShape(msoShapeRectangle, _
        144, 144, 72, 72)
    .Name = "Red Square"
    .Fill.ForeColor.RGB = RGB(255, 0, 0)
    .Line.DashStyle = msoLineDashDot
End With

※ドラッグ(スワイプ)すると全体を確認できます。

シート見出しの色を設定するサンプルコード

こちらでは、シート見出しの色を設定するマクロになります。


Sub sample()

    Sheets("Sheet1").Shape.ColorIndex = 3

End Sub

※ドラッグ(スワイプ)すると全体を確認できます。

実行結果

解説

こちらのマクロは、ShapeオブジェクトのColorIndexプロパティを利用しています。

Shapeオブジェクトの親オブジェクト一覧

親オブジェクト名内容
Chartオブジェクトブック内のグラフを表します。ChartObject オブジェクトに含まれている埋め込みグラフか、独立したグラフ シートのどちらかのグラフです。
Worksheetオブジェクト

Shapeオブジェクトのプロパティ一覧

Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

ExcelのVBAについてのQ&A掲示板

↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください。

VBAのIE操作入門

↑ExcelのVBAをマスターできたら、エクセルVBAのIE操作にも挑戦してみてください。

目次

VBAのステートメント

こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのオブジェクト

こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのプロパティ

こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのメソッド

こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。

VBAのイベント

こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。