Line Input # ステートメント
Open ステートメントをシーケンシャル入力モード(Input)で開いたファイルのデータを 1 行単位で読み込みます。
【構文】
Line Input #filenumber,varname
引数・戻り値
- filenumber ・・・ Open ステートメント で、割り当てられたファイル番号を指定します。
- varname ・・・ ファイルから読み込まれた値(キャリッジリターン:Chr(13) または改行コード:Chr(13) + Chr(10) で区切られた内容)を格納する変数を指定します。
- filenumber ・・・ Open ステートメント で、割り当てられたファイル番号を指定します。
- varname ・・・ ファイルから読み込まれた値(キャリッジリターン:Chr(13) または改行コード:Chr(13) + Chr(10) で区切られた内容)を格納する変数を指定します。
Input # ステートメント では、読み取り時、区切り文字のカンマ(,)やダブルクォーテーション(”)は、変数に格納されませんが、Line Input # ステートメント では、キャリッジリターン( Chr(13) )またはキャリッジリターンとラインフィード( (Chr(13) + Chr(10) )の文字の並びを検出するまでのすべての文字が変数に格納されます。ただし、Chr(13) と Chr(10) は、変数に追加されずスキップされます。
Line Input # ステートメント を使用して読み取られるデータは、通常、Print # ステートメント を使用してファイルに書き込まれます。
Line Input # ステートメント 使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
Sub Sample_LineInput '1行ごとにデータを読み込む(Input モード・Line Input # ステートメント) Dim FileName As String Dim FNum As Integer Dim buf Dim str As String Dim i As Integer FileName = "C:\Documents\mydata\file01.txt" FNum = FreeFile 'ファイル番号取得 If Dir(FileName) = "" Then MsgBox "ファイルが見つかりませんでした" Exit Sub End If 'ファイルを開く(Input モード) Open FileName For Input As #FNum Do Until EOF(FNum) '1行ごとに読み込む Line Input #FNum, buf str = str & buf & vbCrLf Loop 'ファイルを閉じる Close #FNum '内容を表示 MsgBox str End Sub |
実行結果
読み込むテキストファイルの内容
サンプルVBAソース を実行