VBAだとこんな感じ。固定長に切る

秀丸で頑張るのもなんなので、VBAで考えてみた。

    Const ForAppending = 8
    
    Dim myFileSystem As New Scripting.FileSystemObject
    Dim mytextFileIn As Scripting.TextStream
    Dim mytextFileOut As Scripting.TextStream
    Dim buf As String
    buf = ""
    Set mytextFileOut = myFileSystem.OpenTextFile("c:\temp\sample.txt", ForAppending, TristateFalse)
    Set mytextFileIn = myFileSystem.OpenTextFile("c:\temp\FMKGNK01-01.txt", ForReading, TristateFalse)

    Do While mytextFileIn.AtEndOfStream <> True
        buf = buf + mytextFileIn.Read(1)
    'ここで固定長分になるまで、1文字ずつ格納する。ああ、泥臭
        If LenBA(buf) = 577 Then
            mytextFileOut.WriteLine (buf)
            buf = ""
        End If
    Loop

    mytextFileIn.Close
    mytextFileOut.Close

もう少し簡単な構文でと思ったが、この書き方だとデータが””で括られてしまうので没
あと、データの先頭が空文字だと無視しちゃうorz

    Dim fileno As Integer
    Dim buf As String
    Dim buf2 As String
    Dim ii As Long


    Open "c:\temp\銀行テストデータ-本番抽出改行なし.txt" For Input As #1
    Open "c:\temp\sample2.txt" For Output As #2
    Do Until EOF(1)
        Input #1, buf
        For ii = 1 To Len(buf)
            buf2 = buf2 + Mid(buf, ii, 1)
            If LenBA(buf2) = 575 Then
                Write #2, buf2 + x0d
                buf2 = ""
            End If
        Next
    Loop

ここで、文字数ではなくて文字のバイト長を求める関数。
出典はここ

Public Function LenBA(ByVal strX As String) As Long
'ANSI 文字列でのバイト長を求める
    Dim strBA As String
    strBA = StrConv(strX, vbFromUnicode)
    LenBA = LenB(strBA)
End Function