Option Explicit
Option Base 0
Public Sub 回転する六角形描画マクロ()
Const HEXALEFT = 100 '描画の開始位置X
Const HEXATOPP = 90 ' Y
Const HEXALENG = 180 '六角形の大きさ
Const HEXASTPP = 0.9 '六角形の縮小率
Const HEXAANGL = 7 '六角形の傾き角
Const HEXACONT = 25 '六角形の数
'
Const HEXALNWT = 1.5 '線の太さ
'---------------------------------------------------------------------------
Dim Ip As Integer, intLng As Integer
Dim lngCol As Long
'
lngCol = RGB(153, 50, 204) '←線の色
intLng = HEXALENG \ 2
For Ip = 0 To HEXACONT - 1
With ActiveDocument.Shapes.AddShape(msoShapeHexagon, _
HEXALEFT + HEXALENG \ 2 - intLng, _
HEXATOPP + HEXALENG \ 2 - intLng, _
intLng * 2, intLng * 2)
.Fill.Visible = False
.Line.Visible = True
.Line.ForeColor.RGB = lngCol '←線色
.Line.Weight = HEXALNWT '←線の太さ
.Rotation = HEXAANGL * Ip '←回転角
.Adjustments(1) = 0.25 '←辺の比率
End With
intLng = intLng * HEXASTPP
Next Ip
End Sub