投稿者 魔界の仮面弁士  (社会人) 投稿日時 2010/5/23 20:19:33
> アップグレードで変換してみました。
余裕ができたら、そうした VB6 互換命令でのファイル入出力ではなく、
VB.NET 時代のファイル入出力操作も覚えて下さいね。


> ファイルにこれ以上データがありません"となります。
> 原因はなんですか?
原因は、「ファイルにそれ以上データが無いから」です。
恐らく、問題ファイルを用意していなかった(0バイトだった?)のでは無いでしょうか。

今回使用した Input は、ファイルからデータを読み込む命令です。

読み込むべきデータが残っていれば、そのデータを変数に取り込み、
現在の読み込み位置をその分移動させます。

しかし、その読み込み位置がファイル終端にまで到達していた場合、
それ以上読み取れるデータが無いため、今回のエラーとなります。
そのため、ファイルが終端まで到達していたかどうかを調べるために、
読み込み前に EOF 関数でチェックしておく必要があります。

なお http://homepage1.nifty.com/rucio/main/shokyu/jugyou16.htm で紹介されているサンプルでは、
Do
    'ファイル読み込み 
Loop Until EOF(1)
と書かれていましたが、ファイルの内容によっては、
Do Until EOF(1)
    'ファイル読み込み 
Loop
の方が良いでしょう。その理由はあえて書きませんけれども。