「excelvba rectangles() add()」
「Rectangles.Add VBA」
といった検索キーワードで、アクセスが時折あります。
詳細は不明ですが、RctanglesコレクションのAddメソッドを使ったコードについて調べていた方による検索です。
ExcelでもShapes.AddShapeで四角形を挿入できる
レガシーなオブジェクトRectanglesではなく、Shapesコレクションに用意されているメソッドを使ったコードを、先にご紹介します。
Type:=msoShapeRectangle, _
Top:=0, Left:=0, Width:=100, Height:=100
拙著『いちばんやさしいPowerPoint VBAの教本』のLesson 39「Shapesが持つAdd〇〇メソッドでShapeを挿入できます」で、PowerPoint VBAのShapes.AddShapeメソッドの引数TypeにmsoShapeRectangleを指定した、四角形を挿入するコードを解説しています。
Excel VBAの場合も同様で、上記のコードを実行すれば、アクティブシートA1セルの左上を起点に100×100の四角形が挿入されます。
拙著でご紹介しているPowerPoint VBAのコードとは、「.Shapes.AddShape」の前の部分が違うだけです。
Rectangles.Addで四角形を挿入する
Rectangles.Addメソッドを使う場合は以下のようなコードです。
Top:=0, Left:=0, Width:=100, Height:=100
上記のコードで、先ほどのShapes.AddShapeメソッドを使った場合と同じ結果になります。
Shapes.AddShapeの場合、さまざまな形状の図形を挿入できるため、引数Typeでどのような形状なのかを指定しますが、Rectangles.Addの場合は四角形であることは決まっているので、Top・Left・Width・Heightだけを引数に指定します。
Rectanglesはオブジェクトブラウザーで非表示になっているレガシーなオブジェクトであり、基本的には先述のShapes.AddShapeメソッドを使うことをおすすめします。
最終更新日時:2020-03-31 09:56
Home » エクセルマクロ・Excel VBAの使い方 » DrawingObjects » Rectangles.Addで四角形を挿入する