テキストファイル:データを読み込む(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ソース を実行
関連記事
-
FileDialog オブジェクトを取得する(FileDialog プロパティ)
FileDialog プロパティ FileDialog オブジェクト を取得しま …
-
ファイルの検索・フォルダ内のファイル一覧を取得(Dir 関数)
Dir 関数 Dir 関数で、ファイルの存在を確認したり、指定したフォルダ内のフ …
-
Excel を終了する(Quit メソッド)
Excel を終了する(Quit メソッド) Quit メソッドを実行すると、E …
-
テキストファイル:データを読み込む(Line Input # ステートメント)
Line Input # ステートメント Open ステートメントをシーケンシャ …
-
ファイルをコピー(FileCopy ステートメント)
FileCopy ステートメント ファイルをコピーします。ただし、開いているファ …
-
ファイル属性の取得・設定(GetAttr 関数・SetAttr ステートメント)
ファイル属性の取得(GetAttr 関数) ファイルやフォルダ(ディレクトリ)の …
-
ファイルを削除(Kill ステートメント)
ファイルを削除する ファイルを削除するには、Kill ステートメント を使用しま …
-
「ファイルを開く」ダイアログボックスを表示(GetOpenFilename メソッド)
GetOpenFilename メソッド ファイル名を取得するための、「ファイル …
-
Open ステートメントで使用できるファイル番号を取得(FreeFile 関数)
FreeFile 関数 Open ステートメントで使用するファイル番号( 1 ~ …
-
テキストファイル:データを書き込む(Write # ステートメント)
Write # ステートメント Open ステートメント をシーケンシャル出力モ …