【Word VBA】直線並ぶ模様描画マクロ▽ソースコード

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

Option Explicit
Option Base 0
'
Public Sub 直線並ぶ模様描画マクロ()
    Const LNUPCXP = 160           '描画中心位置X
    Const LNUPCYP = 180           '              Y
    Const LNUPWID = 220                '図形幅
    Const LNUPHEI = 220                 '図形高さ
    Const LNUPCNT = 20
    '
    Const LNUPWEI = 0.75 '線の太さ
    '---------------------------------------------------------------------------
    Dim Ip As Integer, Jp As Integer, Kp As Integer
    Dim lngCol As Long
    Dim intXGp As Integer, intYGp As Integer
     '
    lngCol = vbMagenta            '←線色
    '
    intXGp = (LNUPWID \ 2) \ LNUPCNT
    intYGp = (LNUPHEI \ 2) \ LNUPCNT
    For Ip = 0 To LNUPCNT - 1
        Jp = LNUPCNT - 1 - Ip
        '*右上(第一象限)
        With ActiveDocument.Shapes.AddLine( _
             LNUPCXP, LNUPCYP - intYGp * Ip, _
             LNUPCXP + intXGp * Jp, LNUPCYP).Line
            .ForeColor.RGB = lngCol
            .Weight = LNUPWEI
        End With
        '*左上(第二象限)
        With ActiveDocument.Shapes.AddLine( _
             LNUPCXP, LNUPCYP - intYGp * Ip, _
             LNUPCXP - intXGp * Jp, LNUPCYP).Line
            .ForeColor.RGB = lngCol
            .Weight = LNUPWEI
        End With
        '*左下(第三象限)
        With ActiveDocument.Shapes.AddLine( _
             LNUPCXP, LNUPCYP + intYGp * Ip, _
             LNUPCXP - intXGp * Jp, LNUPCYP).Line
            .ForeColor.RGB = lngCol
            .Weight = LNUPWEI
        End With
        '*右下(第四象限)
        With ActiveDocument.Shapes.AddLine( _
             LNUPCXP, LNUPCYP + intYGp * Ip, _
             LNUPCXP + intXGp * Jp, LNUPCYP).Line
            .ForeColor.RGB = lngCol
            .Weight = LNUPWEI
        End With
    Next Ip
End Sub


蛇足
中学生の時、ノートの余白に、手書きで、そんな図形をよく書いていました。

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