「EXCEL VBA 直線 AddLine Addconnector 違い」
といった検索キーワードでアクセスがあることに気が付きました。
Excel VBAのShapesコレクションに用意されている、AddLineメソッドとAddConnectorメソッドは、
何が違うのかを調べていた方による検索です。
AddLineとAddConnectorは指定する引数が違う
わかりやすい違いは、引数です。
Shapes.AddLineメソッドには、BeginX・BeginY・EndX・EndYの4つの引数を指定します。
Shapes.AddConnectorメソッドには、BeginX・BeginY・EndX・EndYの他に、Typeも指定する必要があります。
具体的なコードとしては、以下のとおり。
With ActiveSheet.Shapes
.AddLine _
BeginX:=0, _
BeginY:=0, _
EndX:=200, _
EndY:=50
.AddConnector _
Type:=msoConnectorStraight, _
BeginX:=0, _
BeginY:=50, _
EndX:=200, _
EndY:=100
End With
End Sub
直線を引きたいだけならば、指定する引数の個数が少なくて済むAddLineメソッドを使えばいいでしょう。
AddLineとAddConnectorではTypeが違う
気を付けなければいけないのが、AddLineとAddConnectorで挿入された直線のShape.Typeが異なる点です。
先のSubプロシージャを実行して上図のように直線を2本挿入した後に、以下のプロシージャを実行してください。
Dim type_1 As MsoShapeType, type_2 As MsoShapeType
With ActiveSheet.Shapes
type_1 = .Item(1).Type
type_2 = .Item(2).Type
End With
Stop
End Sub
Stopステートメントで中断したら、拙著拙著『いちばんやさしいExcel VBAの教本』『いちばんやさしいPowerPoint VBAの教本』で多用しているローカルウィドウを表示して、ローカル変数type_1・type_2を確認してください。
人間の目には同じに見える図形であっても、VBAで操作する場合には種別が異なる点に注意が必要です。
最終更新日時:2021-10-26 16:50
- Newer:Word VBAで図形の色を変更するには
- Older:Selection.ShapeRange.Fillとは
Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » AddLineとAddConnectorの違い