テキストファイル:データを読み込む(Input # ステートメント)
2016/01/05
Input # ステートメント
Open ステートメント をシーケンシャル入力モード(Input) または バイナリモード(Binary)で、開いたファイルのデータをカンマ(,)で区切られた単位で読み込みます。入力データ内のダブルクォーテーション(”)は無視されます。
Input #filenumber, varlist, …
引数・戻り値
- filenumber ・・・ Open ステートメント で、割り当てられたファイル番号を指定します。
- varlist ・・・ ファイルから読み込まれた値(カンマで区切られた内容)を格納する変数を指定します。複数指定する場合は、カンマ(,)で区切って指定します(ファイル内のデータ項目の個数、順番と一致させます)。
- filenumber ・・・ Open ステートメント で、割り当てられたファイル番号を指定します。
- varlist ・・・ ファイルから読み込まれた値(カンマで区切られた内容)を格納する変数を指定します。複数指定する場合は、カンマ(,)で区切って指定します(ファイル内のデータ項目の個数、順番と一致させます)。
Input # ステートメントで読み取られたデータは、通常、Write # ステートメントでファイルに書き込まれます。
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_Input() 'カンマ区切りのデータを読み込む(Input モード・Input # ステートメント) Dim FileName As String Dim FNum As Integer Dim buf(2) 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) 'データをカンマで区切られた単位ごとに読み込む Input #FNum, buf(0), buf(1), buf(2) str = str & Join(buf, vbTab) & vbCrLf Loop 'ファイルを閉じる Close #FNum '内容を表示 MsgBox str End Sub |
実行結果
読み込むテキストファイルの内容
サンプルVBAソース を実行
関連記事
-
開いているファイルの現在の読み取り位置または書き込み位置を取得(Seek 関数)
Seek 関数 Open ステートメント で開いたファイル内の現在の読み取り位置 …
-
テキストファイル:データを読み込む(Input 関数・InputB 関数)
Input 関数・InputB 関数 Open ステートメントをシーケンシャル入 …
-
テキストファイル:データを書き込む(Write # ステートメント)
Write # ステートメント Open ステートメント をシーケンシャル出力モ …
-
テキストファイル:データを読み込む(Line Input # ステートメント)
Line Input # ステートメント Open ステートメントをシーケンシャ …
-
「ファイルを開く」ダイアログボックス(FindFile メソッド)
FindFile メソッド 「ファイルを開く」ダイアログボックスを表示します。G …
-
ファイルサイズを取得(FileLen 関数)
ファイルサイズを取得 ファイルのサイズ(バイト数)を取得するには、FileLen …
-
EOF 関数
EOF 関数 Open ステートメント をランダムアクセスモード(Random) …
-
フルパスからファイル名、パスを取得する
フルパスからファイル名のみを取得する フルパスからファイル名を取得するには、Di …
-
ファイルを削除(Kill ステートメント)
ファイルを削除する ファイルを削除するには、Kill ステートメント を使用しま …
-
「ファイル」ダイアログボックスを表示・設定(FileDialog オブジェクト)
FileDialog オブジェクト FileDialog オブジェクト のメソッ …