電子書籍の厳選無料作品が豊富!

プログラム初心者です。

教えてください。

以下の処理が書かれている
画面のHTML上で実行開始のボタンを押すと、
書かれたSubプロシージャが走り、CSVファイル読み込みが始まります。
正解、不正解の判定をするダイアログ表示されて、できている様なのですが、
そのダイアログをOKで閉じると
以下のスクリプトエラーが表示されます。
どのような原因のエラーなのか教えていただけないでしょうか?

デバッグすると If arrFields(1) = "あ" Thenの行でエラーが起きているようです。

すみません。よろしくお願いします。

Sub syori

(省略)

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

arrFields = Split(Data,",")

'MsgBox arrFields(1)


If arrFields(1) = "あ" Then

MsgBox "正解"

else

MsgBox "不正解"

end if

(省略)


Sub End

A 回答 (1件)

エラーが出てるならその内容書かなきゃ…



http://www.kanaya440.com/contents/script/vbs/fun …

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

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