Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » AddLineとAddConnectorの違い

動作検証バージョン:64bit Windows 10 Pro + 32bit Excel(バージョン2109 ビルド14430.20306 Microsoft Store)

「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も指定する必要があります。

具体的なコードとしては、以下のとおり。

Sub AddLineとAddConnectorで直線を引く()
 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本挿入した後に、以下のプロシージャを実行してください。

Sub ローカルウィンドウでTypeを確認する()
 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

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » AddLineとAddConnectorの違い

Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » AddLineとAddConnectorの違い

「Shapesコレクション・Shapeオブジェクト」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.