IBM Lotus Symphony
|
開いている順次ファイルからデータを読み取ります。
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