テキストファイル:データを読み込む(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ソース を実行
関連記事
-
フルパスからファイル名、パスを取得する
フルパスからファイル名のみを取得する フルパスからファイル名を取得するには、Di …
-
ファイルの検索・フォルダ内のファイル一覧を取得(Dir 関数)
Dir 関数 Dir 関数で、ファイルの存在を確認したり、指定したフォルダ内のフ …
-
開いているファイルの読み取り位置または書き込み位置を設定(Seek ステートメント)
Seek ステートメント Open ステートメント で開いているファイルで、次に …
-
ファイルのタイムスタンプを取得(FileDateTime 関数)
ファイルのタイムスタンプを取得 ファイルのタイムスタンプを取得するには、File …
-
ファイルを削除(Kill ステートメント)
ファイルを削除する ファイルを削除するには、Kill ステートメント を使用しま …
-
「名前を付けて保存」ダイアログボックスを表示(GetSaveAsFilename メソッド)
GetSaveAsFilename メソッド 「名前を付けて保存」ダイアログボッ …
-
テキストファイル:データを書き込む(Put ステートメント)
Put ステートメント Open ステートメント をランダムアクセスモード(Ra …
-
テキストファイル:データを書き込む(Write # ステートメント)
Write # ステートメント Open ステートメント をシーケンシャル出力モ …
-
Excelでテキストファイルを開く(OpenText メソッド)
Excelでテキストファイルを開く OpenText メソッドで、テキストファイ …
-
Excel を終了する(Quit メソッド)
Excel を終了する(Quit メソッド) Quit メソッドを実行すると、E …