Public Sub だんご形文書作成マクロ()
Const MOJIRETU = "☆ココナラ・ソコナラ・あそこなら"
Const GYOMOJIS = 40 '一行当たりの文字数
Const GYOCYCLE = 28 '繰り返し行数
'---------------------------------------------------------------------------
Dim Ip As Integer, Jp As Integer
Dim strData1 As String, strData2 As String
Dim intSinT(GYOCYCLE - 1) As Integer
'
'*文字列作成
strData1 = ""
For Ip = 0 To 94
strData1 = strData1 & MOJIRETU
Next Ip
'*行ごと文字数テーブル作成(サインカーブ)
For Ip = 0 To GYOCYCLE - 1
intSinT(Ip) = CInt((GYOMOJIS - 1) _
* Sin(Ip * 6 * (4 * Atn(1) / 180))) + 1
Next Ip
'
'*文字列整形
strData2 = "": Ip = 0
Do While 1
If strData1 = "" Then Exit Do
Jp = intSinT(Ip Mod GYOCYCLE): Ip = Ip + 1
strData2 = strData2 & Mid(strData1, 1, Jp) & vbCrLf
strData1 = Mid(strData1, Jp + 1)
Loop
'書式設定
ActiveDocument.Content.InsertAfter Text:=strData2
ActiveDocument.StoryRanges(wdMainTextStory).Select
Selection.Font.Name = "MS ゴシック"
Selection.Font.Size = 10
With ActiveDocument.Paragraphs
.Alignment = wdAlignParagraphCenter
.LineSpacingRule = wdLineSpaceExactly
.LineSpacing = 12 '行間
End With
End Sub
蛇足:だんご形というより、玉ねぎ形かも・・・