直感的な「角度の理解」に向けて ② ~ 円弧の角度を指定 ~
小学校四年生の算数における「角度の直感的な理解」のために、補助ツールを作成することにした。そのため昨日は、シート上に扇形を描画することに挑戦した。
infoment.hatenablog.com
そこで今日は、こちらの円弧の角度を指定したうえで描画することに挑戦する。
円弧の角度指定は、反時計回りにマイナスの角度で行うことができる。
こんな感じだ。
Shape.Adjustments.Item(1) = -120
早速、昨日のマクロに追加してみよう。
Sub Macro1() Dim Shape As Excel.Shape Set Shape = ActiveSheet.Shapes.AddShape(msoShapeArc, 150, 100, 100, 100) With Shape.Fill .Visible = msoTrue .ForeColor.ObjectThemeColor = msoThemeColorAccent1 .ForeColor.TintAndShade = 0 .ForeColor.Brightness = 0 .Solid End With Shape.Adjustments.Item(1) = -120 End Sub
意図したとおり、反時計回りに120°までの扇形が作成された。
さて、これをどのように作成するかだが、今回はユーザーフォームを利用することにした。今回準備したフォームが、↓ こちら。
ユーザーフォーム初期化時に扇形を作成し、ユーザーフォーム終了時に扇形を削除する。
Dim Shape As Excel.Shape Private Sub UserForm_Initialize() Set Shape = ActiveSheet.Shapes.AddShape(msoShapeArc, 150, 100, 100, 100) With Shape.Fill .Visible = msoTrue .ForeColor.ObjectThemeColor = msoThemeColorAccent1 .ForeColor.TintAndShade = 0 .ForeColor.Brightness = 0 .Solid End With End Sub Private Sub UserForm_Terminate() Shape.Delete End Sub
現時点での完成形のイメージは、こんな感じだ。
ここに至るまでの道筋については、明日に回します。
参考まで。