いちばん失敗した人決定戦

vbscript初心者です。

教えてください。

HTML内のボタンを実行するとonClick="sub_read()"で
CSVファイル(TAB区切り)が読み込まれ
以下のスクリプトが走るのですが、
"型が一致しません"というエラーが表示されてしまいます。
★マークの箇所が無ければエラーは無いのです。
すみません。
お願い致します。



<%@ Language = VBScript %>

<script language=vbscript>


Sub sub_read()

Const ForReading = 1

Set objFSO = CreateObject("Scripting.FileSystemObject")

'ファイルのレコード数を取得
With objFSO.GetFile(file_path).OpenAsTextStream(8)
row = .Line
.Close
End With

ReDim Data(row)
i = 1

Set objFile = objFSO.OpenTextFile(file_path, ForReading)
Do While objFile.AtEndOfStream <> True
     Datas(i) = objFile.ReadLine
Data = Datas(i)
i = i + 1

DataFields = Split(Data,chr(9))

★If DataFields(1) = "ABC" Then


For j = 0 To Ubound(DataFields)

If j = 1 Then
MsgBox arrayFields(j)
 End If

Next

Loop

★End If

objFile.Close

End Sub

</script>

A 回答 (1件)

http://oshiete.goo.ne.jp/qa/8190178.html
なんで前に教えたこと無視していまさら同じ質問してるんですか?
カンマをタブに変えたところで同じ。

>Splitの結果が「要素数2以上の配列」にならない時に
>>arrFields(1)
>でインデックスのエラーになってるんじゃないですか?
>極端に言うとDataの中にカンマが無ければ、arrFieldは要素数0か1になる。そうすると「インデックス1」は存在しないのでエラー。

この文中の「カンマ」を「chr(9)」に置き換えてください。


ちなみに
>CSVファイル(TAB区切り)
CSVのCはカンマの頭文字。タブ区切りはTSVね。
    • good
    • 0

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