Shapes.AddShapeメソッド
VBAで図形(オートシェイプ)を作成するときは Shapes.AddShapeメソッド を使います。
構文
Object.AddShape(Type, Left, Top, Width, Height)
| Object | Shapesオブジェクトを表す変数です。 |
| Type | 図形の種類を MsoAutoShapeType を使って指定します。 |
| Left | ワークシートの左上隅を基準に、図形の境界ボックスの左上隅の位置を左からポイント単位で指定します。 |
| Top | 図形の境界ボックスの左上隅の位置を、上からポイント単位で指定します。 |
| Width | 図形の境界ボックスの幅を、ポイント単位で指定します。 |
| Height | 図形の境界ボックスの高さを、ポイント単位で指定します。 |
| MsoAutoShapeType | 値 | 説明 |
| msoShapeRectangle | 1 | 四角形 |
| msoShapeDiamond | 4 | ひし形 |
| msoShapeIsoscelesTriangle | 7 | 二等辺三角形 |
| msoShapeOval | 9 | 楕円 |
| msoShape5pointStar | 92 | 星 |
※図形の種類は他にも多数存在するので、コチラにまとめてあります。
図形を作成するサンプルコード
Public Sub Sample() '四角形 ActiveSheet.Shapes.AddShape(msoShapeRectangle, 30, 30, 100, 50).Select 'ひし形 ActiveSheet.Shapes.AddShape(msoShapeDiamond, 30, 100, 100, 50).Select '楕円 ActiveSheet.Shapes.AddShape(msoShapeOval, 30, 170, 100, 100).Select End Sub
注意点
- 図形はセルの幅、高さに影響されるので、図形作成後にセルに変更を加える場合は注意が必要です。



コメント