Input# Statement

オープン済みの順編成ファイルからデータを読み取ります。

Syntax:

Input Statement diagram


Input #fileNum {,|;} var1 [, var2 [, ...]]

Parameters:

fileNum: Number of the file that contains the data that you want to read. The file must be opened with the Open statement using the key word INPUT.

var: A numeric or string variable that you assign the values read from the opened file to.

Input# ステートメントは、オープン済みのファイルから数値ないし文字列を読み取り、これらの値を 1 つまたは複数の変数に格納します。数値は、次に来るキャリッジリターン (ASC=13)、ラインフィード (ASC=10)、スペース、コンマまでのデータが、1 度に読み取られます。文字列は、次に来るコードがキャリッジリターン (ASC=13)、ラインフィード (ASC=10)、コンマまでのデータが、1 度に読み取られます。

オープン済みファイル中にあるデータおよびデータ型は、「var」に指定する変数の順序と一致している必要があります。数値以外のデータを数値変数に代入すると、「var」の変数には「0」値が格納されます。

コンマで区切られているレコードを文字列値に割り当てることはできません。 同じようにファイル内の引用符(")も無視されます。 ファイルからこのような文字を読み取る場合はLine Input#文を使用し、テキストファイル (印刷可能な文字のみで構成されるファイル) を読み取ります。

データの読み取り中にファイル末尾に到達すると、エラーが発生してプロセスは終了させられます。

Example:


Sub ExampleWorkWithAFile
    Dim iCount As Integer, sFileName As String
    Dim sName As String, sValue As Integer
    sFileName = "C:\Users\ThisUser\data.txt"
    iCount = Freefile
    'ファイルへデータを書き込む(データは後のインプット時に読み込みます)
    Open sFileName For Output As iCount
    sName = "Hamburg" : sValue = 200
    Write #iCount, sName, sValue
    sName = "New York" : sValue = 300
    Write #iCount; sName, sValue
    sName = "Miami" : sValue = 459
    Write #iCount, sName, sValue
    Close #iCount
    ' Inputを使用してデータファイルを読み込みます。
    iCount = Freefile
    Open sFileName For Input As iCount
    Input #iCount, sName, sValue
    MsgBox sName & " " & sValue
    Input #iCount; sName, sValue
    MsgBox sName & " " & sValue
    Input #iCount, sName, sValue
    MsgBox sName & " " & sValue
    Close #iCount
End Sub

ご支援をお願いします!