構成図自動結線マクロ(その2)接続点の変更
2021年09月20日
前回、オートシェープの自動結線するマクロを作った。
ブログのアップにあたって手直ししたけど、
初回バージョンは上から下に線を引く想定だったので
こんな残念な結合点に。
で、始点と終点の接続点を回転できると便利そうなので作った。
コネクタを選択した状態で、
「始点を回転」、「終点を回転」ボタンをクリックすると
コネクタの接続点が反時計回りに回転する。
【回転前】
【回転後】
前回も触れたけど、鍵コネクタの接続点のオートシェープ名が取得できず苦戦。
わかってしまえばなんてことないのにね。
参考ページ(Edgeのコレクション機能便利だわ・・・)
https://infoment.hatenablog.com/entry/2018/09/21/072707
https://vba-andmore.hatenablog.com/entry/2016/05/11/220000
以下、ソース。
ブログのアップにあたって手直ししたけど、
初回バージョンは上から下に線を引く想定だったので
こんな残念な結合点に。
で、始点と終点の接続点を回転できると便利そうなので作った。
コネクタを選択した状態で、
「始点を回転」、「終点を回転」ボタンをクリックすると
コネクタの接続点が反時計回りに回転する。
【回転前】
【回転後】
前回も触れたけど、鍵コネクタの接続点のオートシェープ名が取得できず苦戦。
わかってしまえばなんてことないのにね。
参考ページ(Edgeのコレクション機能便利だわ・・・)
https://infoment.hatenablog.com/entry/2018/09/21/072707
https://vba-andmore.hatenablog.com/entry/2016/05/11/220000
以下、ソース。
Sub コネクタ終点変更()
On Error Resume Next 'オブジェクトを選ばず使えるように
Dim shp As Shape, EndShape As Shape, EndSite As Long
For Each shp In Selection.ShapeRange
'If Left(shp.Name, 5) = "myCn_" Then
Set EndShape = shp.ConnectorFormat.EndConnectedShape
EndSite = shp.ConnectorFormat.EndConnectionSite
shp.ConnectorFormat.EndConnect EndShape, EndSite Mod 4 + 1
' End If
Next shp
End Sub
Sub コネクタ始点変更()
On Error Resume Next 'オブジェクトを選ばず使えるように
Dim shp As Shape, BeginShape As Shape, BeginSite As Long
For Each shp In Selection.ShapeRange
'If Left(shp.Name, 5) = "myCn_" Then
Set BeginShape = shp.ConnectorFormat.BeginConnectedShape
BeginSite = shp.ConnectorFormat.BeginConnectionSite
shp.ConnectorFormat.BeginConnect BeginShape, BeginSite Mod 4 + 1
'End If
Next shp
End Sub
PR
Comment