【Word VBA】一の字繋ぎ文様描画マクロ▽ソースコード

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

Option Explicit
Option Base 0
'
Public Sub 一の字繋ぎ文様描画マクロ()
    Const BRCKLEFT = 80         '描画開始位置X
    Const BRCKTOPP = 80          '      Y
    '
    Const BRCKWIDT = 40                       '矩形幅
    '矩形高さ = 矩形幅の半分
    Const BRCKHEIG = (BRCKWIDT / 2)
    '
    Const BRCKCOLS = 6                         '横 描画数
    Const BRCKROWS = 8                        '縦 描画数
    '
    Const BRCKJNWD = 3                        '目地幅
    '---------------------------------------------------------------------------
    Dim Ip As Integer, Jp As Integer
    Dim intDxp As Integer, intDyp As Integer
    Dim intWid As Integer
    Dim lngCol(1) As Long
    '
    lngCol(0) = RGB(178, 34, 34)                '←矩形の色
    lngCol(1) = RGB(220, 220, 220)            '←目地の色
    For Jp = 0 To BRCKROWS - 1
        intDyp = BRCKTOPP + BRCKHEIG * Jp
        For Ip = 0 To BRCKCOLS - 1
            intDxp = BRCKLEFT + BRCKWIDT * Ip _
                   + BRCKHEIG * (Jp Mod 2)
            '*両端処理
            If ((Jp Mod 2) = 0 And Ip = 0) Or _
               ((Jp Mod 2) = 1 And Ip = BRCKCOLS - 1) Then
               If ((Jp Mod 2) = 0 And Ip = 0) Then intDxp = _
                                                                     intDxp + BRCKHEIG
               intWid = BRCKHEIG
            Else
               intWid = BRCKWIDT
            End If
            '*長方形描画
            With ActiveDocument.Shapes.AddShape(msoShapeRectangle, _
                intDxp, intDyp, intWid, BRCKHEIG)
                .Fill.Visible = msoTrue
                .Fill.ForeColor.RGB = lngCol(0)
                .Line.Visible = msoTrue
                .Line.ForeColor.RGB = lngCol(1)
                .Line.Weight = BRCKJNWD
           End With
      Next Ip
  Next Jp
End Sub

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