【Word VBA】カラフル曲線描画マクロ▽ソースコード

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

Option Explicit
Option Base 0
'
Public Sub カラフル曲線描画マクロ()
    Const COLFCNXP = 160        '描画中心位置X
    Const COLFCNYP = 160      '      Y
    '
    Const COLFANSP = 5       '描画刻み角度
    Const COLFNPRD = 360 / COLFANSP  '一周の点数
    Const COLFRATE = 45         '線の長さレート
    Const COLFRAND = 8          '周回数
    '
    Const COLFLNWE = 3.5      '線の太さ
    '---------------------------------------------------------------------------
    Dim Ip As Integer, Jp As Integer
    Dim Kp As Integer
    Dim sngPDat(COLFNPRD, 1) As Single
    Dim sngSit As Single, sngRpd As Single
    Dim sngRds As Single, lngCol As Long
    '
    sngRpd = Atn(1) / 45
    For Jp = 0 To COLFRAND - 1
        '*ポリラインデータ作成
        For Ip = 0 To UBound(sngPDat, 1)
            Kp = COLFNPRD * Jp + Ip
            sngSit = sngRpd * (Kp * COLFANSP)
            sngRds = 1 + Cos(7 / 8 * sngSit)
            sngPDat(Ip, 0) = (sngRds * Cos(sngSit)) _
                           * COLFRATE + COLFCNXP
            sngPDat(Ip, 1) = (sngRds * Sin(sngSit)) _
                           * COLFRATE + COLFCNYP
        Next Ip
        '*描画線色選択
        lngCol = Choose((Jp Mod 6) + 1, _
                 RGB(138, 43, 226), RGB(0, 191, 255), _
                 RGB(255, 165, 0), RGB(128, 0, 128), _
                 RGB(255, 20, 147), RGB(255, 127, 80))
        '*ポリライン描画
        With ActiveDocument.Shapes.AddPolyline(sngPDat)
            .Fill.Visible = msoFalse
            .Line.Visible = msoTrue
            .Line.ForeColor = lngCol    '←線色
            .Line.Weight = COLFLNWE   '←線の太さ
        End With
    Next Jp
End Sub

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す