見出し画像

図形の頂点をVBAで操作する その2

前回の記事が思ったよりビューが伸びているので追記しようと思う。

Dim shp As Shape
Dim TarNum As Long '頂点のインデックス'
Dim NewX As Single
Dim NewY As Single

With shp.Nodes
   Debug.Print Item(TarNum).Points(1,1) 'X座標'
   Debug.Print Item(TarNum).Points(1,2) 'Y座標'
   Call .SetPosition(TarNum, NewX, NewY)
End With

前回は上記で位置の変更が可能と書いた。
曲線・直線の変更や、「頂点を基準にスムージングする」なども指定可能だ。これらにはまた別のメソッドがあって、ShapeNodesオブジェクトに対して以下のように記述する。

   Call .SetEditingType(TarNum, msoEditingSmooth) '頂点の種類'
   Call .SetSegmentType(TarNum, msoSegmentCurve) '直線か曲線か'

指定できるパラメータはリファレンスを参考にしてほしい。


中学生のとき、年間300冊読むのを目標にしていた時期とかもあったのだが最近めっきり本を読まないのでKindle Unlimitedにお試し登録中だ。
次はこれを読もうと思う。


よろしければサポートお願いします🥕 サポートはレビュー記事作成の原資となります