テキストファイル:データを読み込む(Line Input # ステートメント)
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ソース を実行
関連記事
-
-
テキストファイル:データを書き込む(Put ステートメント)
Put ステートメント Open ステートメント をランダムアクセスモード(Ra …
-
-
テキストファイル:データを読み込む(Input # ステートメント)
Input # ステートメント Open ステートメント をシーケンシャル入力モ …
-
-
「ファイルを開く」ダイアログボックスを表示(GetOpenFilename メソッド)
GetOpenFilename メソッド ファイル名を取得するための、「ファイル …
-
-
「ファイル」ダイアログボックスを表示・設定(FileDialog オブジェクト)
FileDialog オブジェクト FileDialog オブジェクト のメソッ …
-
-
Open ステートメントで使用できるファイル番号を取得(FreeFile 関数)
FreeFile 関数 Open ステートメントで使用するファイル番号( 1 ~ …
-
-
FileDialogFilters コレクション・FileDialogFilter オブジェクト
FileDialogFilters コレクション FileDialog オブジェ …
-
-
ディレクトリまたはフォルダの削除(RmDir ステートメント)
ディレクトリまたはフォルダの削除 ディレクトリまたはフォルダを削除するには、Rm …
-
-
開いているファイルの現在の読み取り位置または書き込み位置を取得(Seek 関数)
Seek 関数 Open ステートメント で開いたファイル内の現在の読み取り位置 …
-
-
テキストファイル:データを書き込む(Write # ステートメント)
Write # ステートメント Open ステートメント をシーケンシャル出力モ …
-
-
FileDialog オブジェクトを取得する(FileDialog プロパティ)
FileDialog プロパティ FileDialog オブジェクト を取得しま …