【Word VBA】山路文様描画マクロ▽ソースコード

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

Option Explicit
Option Base 0
'
Public Sub 山路文様描画マクロ()
    Const MTRDLEFT = 80    '描画開始位置X
    Const MTRDTOPP = 90     '      Y
    '
    Const MTRDSWID = 30        '描画幅
    Const MTRDSHEI = 12         '描画高さ
    '
    Const MTRDHSPC = 12        '縦-間隔
    Const MTRDCOLS = 8          '横/山の数
    Const MTRDROWS = 12       '縦/描画数
    '
    Const MTRDLNWE = 3.5      '線の太さ
    '---------------------------------------------------------------------------
    Dim Ip As Integer, Jp As Integer
    Dim intDxp As Integer, intDyp As Integer
    Dim sngPol(MTRDCOLS * 2, 1) As Single
    Dim lngCol As Long
    '
    lngCol = RGB(34, 139, 34)              '←線色
    For Jp = 0 To MTRDROWS - 1
        intDyp = MTRDTOPP + MTRDHSPC * Jp
        For Ip = 0 To MTRDCOLS - 1
            sngPol(Ip * 2 + 0, 0) = CSng(MTRDLEFT + MTRDSWID * Ip)
            sngPol(Ip * 2 + 0, 1) = CSng(intDyp + MTRDSHEI)
            sngPol(Ip * 2 + 1, 0) = sngPol(Ip * 2 + 0, 0) _
                                  + CSng(MTRDSWID / 2)
            sngPol(Ip * 2 + 1, 1) = CSng(intDyp + 0)
        Next Ip
        sngPol(MTRDCOLS * 2 + 0, 0) = CSng(MTRDLEFT _
                                    + MTRDSWID * MTRDCOLS)
        sngPol(MTRDCOLS * 2 + 0, 1) = CSng(intDyp + MTRDSHEI)
        '*ポリライン描画
        With ActiveDocument.Shapes.AddPolyline(sngPol)
            .Line.ForeColor = lngCol               '←線色
            .Line.Weight = MTRDLNWE           '←線の太さ
            .Line.DashStyle = msoLineSolid    '←線種
        End With
    Next Jp
End Sub

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