Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » AddConnectorで終端の形状を変更するには?

対象:Excel2010, Excel2013, Windows版Excel2016

「vba addconnector 終端の形」
という検索キーワードでのアクセスに気が付きました。

ShapesコレクションオブジェクトのAddConnectorメソッドでコネクターを追加して、

オブジェクトブラウザー:ShapesコレクションオブジェクトのAddConnectorメソッド

そのコネクターの終端の形状を変更するには、どのようなコードを書けばいいのか探していた方による検索です。

[スポンサードリンク]

コネクターの終端形状を変更するサンプルマクロ

以下のSubプロシージャを実行すると、アクティブなシートにコネクターが作成され、終点の形が三角矢印形になります。

Sub AddConnector後に終点の形を変更する()
 Dim sh As Worksheet
 Set sh = ActiveSheet

 Dim shp As Shape
 Set shp = sh.Shapes.AddConnector( _
   Type:=msoConnectorElbow, _
   BeginX:=0, BeginY:=0, _
   EndX:=100, EndY:=100)

 shp.Line.EndArrowheadStyle = msoArrowheadTriangle
End Sub

サンプルマクロの解説

オブジェクトブラウザーの詳細ペインを確認するとわかるとおり、

ShapesコレクションオブジェクトのAddConnectorメソッドの引数

Shapes.AddConnectorメソッドの引数には、種類(Type)と、始点の位置(BeginX・BeginY)と、終点の位置(EndX・EndY)しか指定できません。

終端の形状を変更するにはコネクターを作成してから、ShapeオブジェクトのLineプロパティで取得できるLineFormatオブジェクトを使って、

オブジェクトブラウザー:LineFormatオブジェクト

変更する必要があります。

上記のSubプロシージャで設定しているEndArrowheadStyleプロパティの他に、
  EndArrowheadLength
  EndArrowheadWidth
  BeginArrowheadStyle
  BeginArrowheadLength
  BeginArrowheadWidth
が終端の形状やサイズに関係するプロパティです。

これらのプロパティにはMsoArrowheadStyle列挙・MsoArrowheadLength列挙・MsoArrowheadWidth列挙に定義されている定数を指定できます。

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » Shapesコレクション・Shapeオブジェクト » AddConnectorで終端の形状を変更するには?

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

検索


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

.