IBM Lotus Symphony


Input# ステートメント [実行時]

開いている順次ファイルからデータを読み取ります。

構文:

Input #FileNumber As Integer; var1[, var2[, var3[,...]]]

パラメータ:

FileNumber: 読み取るデータが入っているファイルの番号。このファイルは、Open ステートメントでキーワード INPUT を使用して開かれたものでなければなりません。

var: 開かれたファイルから読み取った値を代入する数値変数または文字列変数。

Input# ステートメントは、開いたファイルから数値または文字列を読み取り、そのデータを 1 つ以上の変数に代入します。数値変数は、最初の復帰 (Asc=13)、改行 (Asc=10)、スペース、またはカンマまで読み取られます。文字列変数は、最初の復帰 (Asc=13)、改行 (Asc=10)、またはカンマまで読み取られます。

開かれたファイル内のデータとデータ型は、「var」パラメータで渡される変数と同じ順序で出現する必要があります。数値でない値を数値変数に代入した場合、「var」には値 0 が代入されます。

カンマで区切ったレコードを文字列変数に代入することはできません。ファイル内の引用符 (") も無視されます。これらの文字をファイルから読み取る場合は、Line Input# ステートメントを使用して、純粋テキストファイル (印刷可能文字だけを含んでいるファイル) として 1 行ずつ読み取ります。

データ要素を読み取っているときにファイルの終わりに到達した場合は、エラーが発生し、プロセスは異常終了します。

例:

Sub ExampleWorkWithAFile

Dim iNumber As Integer

Dim sLine As String

Dim aFile As String

Dim sMsg as String

aFile = "c:¥data.txt"

iNumber = Freefile

Open aFile For Output As #iNumber

Print #iNumber, "This is a line of text"

Print #iNumber, "This is another line of text"

Close #iNumber

iNumber = Freefile

Open aFile For Input As iNumber

While not eof(iNumber)

Line Input #iNumber, sLine

If sLine <>"" then

sMsg = sMsg & sLine & chr(13)

end if

wend

Close #iNumber

Msgbox sMsg

End Sub


製品フィードバック | その他の資料 | 商標