プロが教えるわが家の防犯対策術!

初心者です。

テキストファイルを以下の条件で検索して、検索がマッチしたらそのファイルのレコード行を各条件によって指定されたファイルに書き込みたいです。

1)5桁目が"D"且つ 10~11桁目が"A5"の場合、ファイル"TEXT1.txt"に書き込む
2)5桁目が"G"且つ10~11桁目が"B6"の場合、ファイル"TEXT2.txt"に書き込む
3)上記に該当しない場合、ファイル"TEXT3.txt"に書き込む

どなたかご教示のほど宜しくお願い致します。

A 回答 (1件)

オリジナルファイルが、E:\org.txt にあったとして


文字コードがShift-JIS、中身が
mCZ8MQsfT2tWHMG
XKXrDCT1QA5Pi9v
f41jdIHEFa5mEDw
NyiEDEF59A53TMP
M4SCGZFGuB6mIAt
VqfDGgEyZ0Wuz6z
とした場合です。

Dim oFS
Dim FF(3)
Dim tmp
Const forReading = 1
Const forWriting = 2
Set oFS = CreateObject("Scripting.FileSystemObject")
Set FF(0) = oFS.OpenTextFile("e:\org.txt",1)
Set FF(1) = oFS.CreateTextFile("e:\org_1.txt", 2,true)
Set FF(2) = oFS.CreateTextFile("e:\org_2.txt", 2,true)
Set FF(3) = oFS.CreateTextFile("e:\org_3.txt", 2,true)


Do Until FF(0).atEndofStream
tmp = FF(0).readLine

If Mid(tmp, 5, 1) = "D" And Mid(tmp, 10, 2) = "A5" Then
FF(1).writeLine(tmp)
ElseIf Mid(tmp, 5, 1) = "G" And Mid(tmp, 10, 2) = "B6" Then
FF(2).writeLine(tmp)
Else
FF(3).writeLine(tmp)
End If

Loop

FF(0).Close:FF(1).Close:FF(2).Close:FF(3).Close
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!