Option Explicit
Option Base 0
'
Public Sub ベジェ曲線による波線描画マクロ()
Const BZWAYAMA = 8 '山の数
Const BZWABZCN = BZWAYAMA * 6 'ベジェ曲線の点数
'
Const BZWALEFT = 120 '描画開始位置(X)
Const BZWATOPP = 100 ' (Y)
Const BZWAWIDT = 200 '幅
Const BZWAHEIG = 40 '高さ
'
Const BZWAPITC = (BZWAWIDT / (BZWABZCN + 1)) 'ピッチ
'
Const BZWALNCL = &HE22B8A '線の色(青紫)
Const BZWALNWT = 1.5 '線の太さ
'---------------------------------------------------------------------------
Dim Ip As Integer, sngArr(BZWABZCN, 1) As Single
'*ベジェ曲線データ作成
For Ip = 0 To BZWABZCN
sngArr(Ip, 0) = BZWALEFT + BZWAPITC * Ip
sngArr(Ip, 1) = BZWATOPP + BZWAHEIG _
* Choose((Ip Mod 6) + 1, 1, 2, 2, 1, 0, 0)
Next Ip
*ベジェ曲線描画
With ActiveDocument.Shapes.AddCurve(sngArr)
.Line.ForeColor.RGB = BZWALNCL
.Fill.Visible = msoFalse
.Line.Weight = BZWALNWT
End With
End Sub