【Word VBA】丸く並べるハート描画マクロ▽ソースコード

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

Option Explicit
Option Base 0
Public Sub 丸く並べるハート描画マクロ()
    Const CIRCXPOS = 175      '円の中心位置 X
    Const CIRCYPOS = 180      '               Y
    Const CIRIRADI = 25         '内円の半径
    Const HEARTCNT = 12         'ハートの数/一周
    Const HEARTLAY = 5         'ハートの層
    Const HEARTLSP = 15       'ハートの層間隔
    Const HEARTWDP = 0.8              'ハートの幅/円周に対する比率
    Const HEARTHEP = 0.75             'ハートの高さ/層間隔に対する比率
   '---------------------------------------------------------------------------
    Dim Ip As Integer, Jp As Integer
    Dim intAng As Integer, dblPai As Double, dblRad As Double
    Dim intXps As Integer, intYps As Integer
    Dim intWid As Integer, intHei As Integer
    Dim intRad As Integer
    '
    dblPai = 4 * Atn(1): dblRad = dblPai / 180
    intAng = 360 \ HEARTCNT
    intHei = HEARTLSP * HEARTHEP
    '
    For Jp = 0 To HEARTLAY - 1
        intRad = CIRIRADI + HEARTLSP * Jp
        intWid = ((intRad * 2 * dblPai) / HEARTCNT) * HEARTWDP
        For Ip = 0 To HEARTCNT - 1
            intXps = intRad * Cos(dblRad * (intAng * Ip)) + CIRCXPOS
            intYps = intRad * Sin(dblRad * (intAng * Ip)) + CIRCYPOS
            '*ハート描画
            With ActiveDocument.Shapes.AddShape(msoShapeHeart, _
                           intXps - intWid \ 2, intYps - intHei \ 2, _
                                   intWid, intHei)
                '*塗りつぶし
                .Fill.TwoColorGradient 2, 2           '←グラディション二色
                .Fill.BackColor.RGB = vbWhite
                .Fill.ForeColor.RGB = RGB(255, 105, 180)   'ピンク
                .Fill.Visible = True
                '線種
                .Line.ForeColor.RGB = vbRed        '←線色
                .Line.Visible = True
                '傾き
                .Rotation = intAng * Ip + 90
            End With
        Next Ip
    Next Jp
End Sub

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