vbscript ファイルのマージ
VB初心者です。
C:\test配下の複数のファイルをマージする便利ツールを只今作成中なのですが、
下記プログラムを実行すると「If aryStrings(3) = "yes" Then」の行に対し、
「Subscript out of range」というエラーメッセージが表示されます。
マージの対象としているファイルの中身は次のようなイメージです。
100,101,102,yes,104,105,106,107,108,109,110,111
101,101,102,no,104,105,106,107,108,109,110,111
102,101,102,yes,104,105,106,107,108,109,110,111
103,101,102,no,104,105,106,107,108,109,110,111
104,101,102,yes,104,105,106,107,108,109,110,111
出力データ(output.txt)を見ると正常に処理されているようなのですが
なぜこのようなメッセージが表示されるのかご教授いただきたいです。
お手数ですが宜しくお願い致します。
プログラム
--------------------------------------------------------------------------------------------------------------------------
Dim FileName
Dim fso,baseFolder
Dim frFile,toFile
Dim mFile
Dim strLine1,strLine
Dim aryStrings
Dim msg
FileName = InputBox("ファイル名を入力してください","ファイル名入力","output")
Set fso = CreateObject("Scripting.FileSystemObject")
Set baseFolder = fso.GetFolder("C:\test")
Set toFile = fso.OpenTextFile("C:\test\" & FileName & ".txt" ,2 , True)
For Each mFile In baseFolder.Files
Set frFile = fso.OpenTextFile("C:\test\" & mFile.Name , 1)
Do While frFile.AtEndOfStream <> True
strLine1 = frFile.ReadLine()
aryStrings = Split(strLine1, ",")
If aryStrings(3) = "yes" Then
strLine = aryStrings(0) +" "+ aryStrings(1) +" "+ aryStrings(9) +" "+ aryStrings(10) +" "+ aryStrings(11)
toFile.Write strLine & vbCrLf
Else
End If
Loop
frFile.Close
Set frFile = nothing
Next
toFile.Close
msg = "処理終了"
MsgBox msg
--------------------------------------------------------------------------------------------------------------------------
お礼
事前の読み込み処理の後クローズを入れてあげたらうまくいきました。 ありがとうございました。