直感的な「角度の理解」に向けて ② ~ 円弧の角度を指定 ~

小学校四年生の算数における「角度の直感的な理解」のために、補助ツールを作成することにした。そのため昨日は、シート上に扇形を描画することに挑戦した。
infoment.hatenablog.com

そこで今日は、こちらの円弧の角度を指定したうえで描画することに挑戦する。
f:id:Infoment:20190521225246p:plain

円弧の角度指定は、反時計回りにマイナスの角度で行うことができる。
こんな感じだ。

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°までの扇形が作成された。
f:id:Infoment:20190521225736p:plain

さて、これをどのように作成するかだが、今回はユーザーフォームを利用することにした。今回準備したフォームが、↓ こちら。
f:id:Infoment:20190521225957p:plain

ユーザーフォーム初期化時に扇形を作成し、ユーザーフォーム終了時に扇形を削除する。

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

現時点での完成形のイメージは、こんな感じだ。
f:id:Infoment:20190521230356g:plain

ここに至るまでの道筋については、明日に回します。

参考まで。