‘空白文字だけの配列要素を後ろから削除する(配列途中の空白だけの要素(故意に改行した部分)は残す)
最後の空行の改行については削除する (配列から要素を削除)
'※空白(半角スペース・全角スペース)は、文字数1、バイト数2でカウントされる
str配列要素 = ""
i = UBound(v)
j = 0
cnt = 0
Do
If i = LBound(v) Then Exit Do
For k = 1 To Len(v(i))
If InStr(Mid(v(i), k, 1), " ") > 0 Then
cnt = cnt + InStr(Mid(v(i), k, 1), " ")
Else
cnt = cnt + InStr(Mid(v(i), k, 1), " ")
End If
Next k
If cnt <> Len(v(i)) Then Exit Do '空白以外の文字が存在すれば、抜ける
If cnt = Len(v(i)) Then 'すべて空白
v(i) = v(i - 1)
j = j + 1
End If
cnt = 0
i = i - 1
Loop
ReDim Preserve v(UBound(v) - j) '余分な配列要素を削除
'str配列要素を再編成
str配列要素 = ""
i = 0
j = 0
For i = LBound(v) To UBound(v)
j = j + 1
If j = 1 Then
str配列要素 = v(i)
Else
str配列要素 = str配列要素 & vbCrLf & v(i)
End If
Next i