空白文字だけの配列要素を後ろから削除する

      2019/12/20

‘空白文字だけの配列要素を後ろから削除する(配列途中の空白だけの要素(故意に改行した部分)は残す)

 最後の空行の改行については削除する (配列から要素を削除)
    '※空白(半角スペース・全角スペース)は、文字数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

 - AccessVBA開発