Option Explicit
Option Base 0
Public Sub ハニカム構造描画マクロ()
Const HEXAXCNT = 7 '横方向六角形数
Const HEXAYCNT = 3 '横方向六角形数
'
Const HEXALEFT = 80 'ハニカム左位置 X
Const HEXATOPP = 90 ' 上 Y
Const HEXAWIDT = 40 '六角形幅
Const HEXAHEIG = 40 '六角形高さ
Const HEXASPAC = 5 '六角形と六角形の間隔
'---------------------------------------------------------------------------
Dim Ip As Integer, Jp As Integer
Dim intXp As Integer, intYp As Integer
'
For Jp = 0 To HEXAYCNT - 1
For Ip = 0 To HEXAXCNT - 1
intXp = HEXALEFT + ((HEXAWIDT + HEXASPAC) * 0.75)* Ip _
+ HEXASPAC
intYp = HEXATOPP + (HEXAHEIG + HEXASPAC) * Jp + _
((HEXAHEIG + HEXASPAC) \ 2) * (Ip Mod 2)
With ActiveDocument.Shapes.AddShape(msoShapeHexagon, _
intXp, intYp, HEXAWIDT, HEXAHEIG)
.Fill.Visible = False
.Line.Visible = True
.Line.ForeColor.RGB = RGB(0, 0, 255) '←線色
.Adjustments(1) = 0.25
End With
Next Ip
Next Jp
End Sub
Const HEXASPAC = 10 '六角形と六角形の間隔
Const HEXASPAC = 0 '六角形と六角形の間隔