関数 EOF関数ファイルの終端(末尾)かどうかを確認する

※より実装に近く表示させる為、コードの改行を避けています。スマホ等で閲覧される際は向きを変えてご覧ください。

※実装するバージョンによってはバージョンアップの仕様により動作しないコードもあります。実装には動作確認の上ご使用下さい。

EOF 関数

ランダム アクセス モード (Random) またはシーケンシャル入力モード (Input) で開いたファイルの現在位置がファイルの末尾に達している場合、ブール型 (Boolean) の値の真 (True) を含む整数型 (Integer) の値を返します。

  • 構文

  • EOF(filenumber)
  • 引数

  • filenumber
    には、任意の有効なファイル番号を表す整数型 (Integer) の数値を指定します。この引数は必ず指定します。
  • 解説

  • EOF 関数は、ファイルから読み込みを行っているとき、読み込み位置がファイルの末尾に達していないかどうかを確かめるために使用します。
  • EOF 関数はファイルの末尾に達していない場合は、偽 (False) を返します。ランダム アクセス モード (Random) またはバイナリ モード (Binary) でファイルを開いた場合、EOF 関数は最後に実行された Get ステートメントでレコード全体が読み込めなくなるまで偽 (False) を返します。
  • バイナリ モードでファイルを開いた場合、Input 関数を使用して EOF 関数が真 (True) を返すまでファイルを読み込もうとすると、エラーが発生します。Input 関数を使用してバイナリ ファイルを読み込む場合は、EOF 関数の代わりに、LOF 関数および Loc 関数を使用します。EOF 関数を使用する場合は、Get ステートメントを使用します。シーケンシャル出力モード (Output) で開いたファイルの場合は、常に真 (True) を返します。

EOF 関数の使用例

次の例は、EOF 関数を使って、ファイルの終端に達したかどうかを調べます。この例では、ファイル MYFILE は、複数行のデータを含むテキスト ファイルと仮定します。
Option Explicit

Dim InputData
' シーケンシャル入力モードで開きます。
Open "MYFILE" For Input As #1
' ファイルの終端かどうかを確認します。
Do While Not EOF(1)
    ' データ行を読み込みます。
    Line Input #1, InputData
    ' イミディエイト ウィンドウに表示します。
    Debug.Print InputData
Loop
' ファイルを閉じます。
Close #1

  • はてなブックマークに追加

 

2016年10月01日|[VBサンプルコード]:[関数]