【Word VBA】ベジェ曲線による丸い波線描画マクロ▽ソースコード

記事
IT・テクノロジー
HC250520A.png

Option Explicit
Option Base 0
'
Public Sub ベジェ曲線による丸い波線描画マクロ()
   Const BZCWPAIV = 3.141592653589     'π
   Const BZCWRADI = (BZCWPAIV / 180)    'π/180
   Const BZCWYAMA = 12             '山の数
   Const BZCWBZCN = BZCWYAMA * 6             'ベジェ曲線の位置数
   '
   Const BZCWCXPT = 200                              '描画中心位置(X)
   Const BZCWCYPT = 180                              '  〃             (Y)
   Const BZCWCRAD = 80                               '描画半径
   Const BZCWAPWD = 15                              '波線振れ幅
   Const BZCWLNCL = &H8B8B00                    '線の色(ダークシアン)
   Const BZCWLNWT = 1.5                             '線の太さ
   '---------------------------------------------------------------------------
   Dim Ip As Integer, sngArr(BZCWBZCN, 1) As Single
   Dim sngCns As Single, sngAng As Single
   Dim sngRad As Single
   '
   '*ベジェ曲線データ作成
   sngCns = (BZCWRADI * (360 / BZCWBZCN))
   For Ip = 0 To BZCWBZCN
       sngRad = BZCWCRAD _
       + Choose((Ip Mod 6) + 1, 0, 1, 1, 0, -1, -1) * BZCWAPWD
       sngArr(Ip, 0) = sngRad * Cos(sngCns * Ip) + BZCWCXPT
       sngArr(Ip, 1) = sngRad * Sin(sngCns * Ip) + BZCWCYPT
   Next Ip
   '
   '*ベジェ曲線描画
   With ActiveDocument.Shapes.AddCurve(sngArr)
      .Line.ForeColor.RGB = BZCWLNCL
      .Fill.Visible = msoFalse
      .Line.Weight = BZCWLNWT
   End With
End Sub

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す ココナラコンテンツマーケット ノウハウ記事・テンプレート・デザイン素材はこちら