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オブジェクトのプロパティ一覧

  • Shapeオブジェクト(ColorIndexプロパティ)のプロパティ
Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

近田 伸矢, 植木 悠二, 上田 寛

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

  • このエントリーをはてなブックマークに追加
ExcelのVBAについてのQ&A掲示板

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

VBAのInternetExplorer操作入門

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

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

エクセルVBAのステートメント

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

エクセルVBAのオブジェクト

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

エクセルVBAのプロパティ

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

エクセルVBAのメソッド

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

エクセルVBAのイベント

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