|
まんじゅう さん、こんばんわ。
>ちなみに先頭行の9を出力しないようにするには、どうすればよいでしょうか。
最終行のフラグが9のようなので、9が来た時点で抜けるようにしました。
9が来なかった場合も考えてEOFは残してあります。
Sub test()
Dim s1 As String, flg As Boolean, NN As Long, LL As Long
flg = False
'
Open "C:\D\InputData.TXT" For Input As #1
Do Until EOF(1)
Line Input #1, s1
'9だったらループから出る
If Left(s1, 1) = "9" Then Exit Do
'ファイルを開いていなければFile Open
If flg = False Then GoSub OutOp
Print #2, s1
'8を書きこんだらFile Close
If Left(s1, 1) = "8" Then GoSub OutCl
Loop
Close #1
If flg = True Then GoSub OutCl
'メイン終了
Exit Sub
'書き出すファイルを開くサブルーチンです
OutOp:
NN = NN + 1
Open "C:\D\out" & Format(NN, "000") & ".txt" For Output As #2
flg = True
Return
'書き出すファイル閉じるサブルーチンです
OutCl:
Close #2
flg = False
Return
End Sub
こんな感じです。
|
|