EOF 関数

適用先
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Microsoft Jet Expression Service がサンドボックス モードで実行されている場合 (安全でない可能性がある式の評価は行われません)、このトピックで説明する関数、メソッド、オブジェクト、またはプロパティは無効です。 サンドボックス モードの詳細については、ヘルプで "サンドボックス モード" を検索してください。

ランダム入力またはシーケンシャル入力に対して開かれたファイルの末尾に達したときに、ブール値 True を含む整数型 (Integer) の値を返します。

構文

EOF(filenumber)

必須の filenumber引数は、任意の有効なファイル番号を含む整数です。

解説

EOF を使用して、ファイルの末尾を越える入力を試行した場合にエラーが生成されないようにします。

ファイルの末尾に達するまで、EOF 関数は False を返します。 Random または Binary アクセスで開かれたファイルの場合、最後に実行した Get ステートメントでレコード全体を読み取れなくなるまで、EOFFalse を返します。

バイナリ アクセス用に開かれたファイルでは、EOFTrue を返すまで Input 関数を使用してファイルを読み取ろうとすると、エラーが生成されます。 Inputでバイナリ ファイルを読み取る場合は EOF の代わりに 関数と Loc 関数を使用し、EOF 関数を使用する場合は Get を使用します。 出力用にファイルを開いた場合、EOF は常に True を返します。

次の例は、Visual Basic for Applications (VBA) モジュールでのこの関数の使用方法を示しています。 VBA の使用方法の詳細については、[検索] の横にあるドロップダウン リストで [開発者用リファレンス] を選び、検索ボックスに検索する用語を入力します。

この例では、EOF 関数を使用してファイルの末尾を検出します。 この例では、 MYFILE が数行のテキスト を含むテキスト ファイルであることを前提としています。

Dim InputData
' Open file for input.
Open "MYFILE" For Input As #1
' Check for end of file.
Do While Not EOF(1)
    ' Read line of data.
    Line Input #1, InputData  
    ' Print to the Immediate window.  
    Debug.Print InputData    
Loop
' Close file.
Close #1