次の方法で共有


Input # ステートメント

開いているシーケンシャル ファイルからデータを読み取り、変数に代入します。

構文

インプット#filenumber,varlist

Input # ステートメントの構文には、次の指定項目があります。

指定項目 説明
filenumber 必須。 有効な ファイル番号
varlist 必須です。 ファイルから読み取られた値が割り当てられている変数のコンマ区切りのリスト。 配列 または オブジェクト変数にすることはできません。 ただし、配列または ユーザー定義型 の要素を記述する変数を使用できます。

解説

Input # で読み取られたデータは、通常、Write #を使用してファイルに書き込まれます。 この ステートメントは、 Input モードまたは Binary モードで開かれたファイルでのみ使用します。 読み取りのとき、標準の文字列データまたは数値データは変更なしで変数に代入されます。

次の表では、他の入力データの処理方法を示します。

データ 変数に代入される値
区切り文字のコンマまたは空白行 Empty
#NULL# Null
#TRUE# または #FALSE# True または False
# yyyy-mm-dd hh:mm:ss # で表されている日付、時刻、またはその両方
エラー番号 #ERROR # errornumber (変数にはエラーとして Variant タグが付きます)

入力データ内の二重引用符 (") は無視されます。

注:

Input # ステートメントで使用するために、埋め込み引用符 (例: "1,2""X") を含む文字列を記述しないでください。Input # は、この文字列を 2 つの完全な個別の文字列として解析します。

ファイル内のデータ アイテムと varlist の変数は、同じ順序で、データ型が一致している必要があります。 変数が数値で、データが数値ではない場合、変数には数値の 0 が代入されます。

データ アイテムの入力中にファイルの末尾に達した場合は、入力は終了されて、エラーが発生します。

注:

Input #を使用してファイルから変数にデータを正しく読み取ることができるようにするには、Print # ステートメントの代わりに Write # ステートメントを使用してファイルにデータを書き込みます。 Write # を使用すると、各個別のデータ フィールドが適切に区切られます。

この例では 、Input # ステートメントを使用して、ファイルから 2 つの変数にデータを読み取ります。 この例では、 が Write # ステートメントを使用して書き込まれた数行のデータを含むファイルであると想定TESTFILEしています。つまり、各行には引用符で囲まれた文字列と、コンマで区切られた数値 (例: "Hello", 234) が含まれています。

Dim MyString, MyNumber 
Open "TESTFILE" For Input As #1    ' Open file for input. 
Do While Not EOF(1)    ' Loop until end of file. 
    Input #1, MyString, MyNumber    ' Read data into two variables. 
    Debug.Print MyString, MyNumber    ' Print data to the Immediate window. 
Loop 
Close #1    ' Close file. 

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。