Excel VBA:テキストファイルの読込み|Open For Input As
Open For Input Asを使用しテキストファイのデータを読込むExcel VBAです。
Homeに戻る >
Excel ファイル操作のTipsへ
テキストファイルは、多くのアプリで使用できる形式なのでよく使われます。
Excelでもリボンの[ファイル]~[開く]~[参照]~[テキストファイル]で読込むことが可能です。
VBAからでも簡単に読込みできるので、その使い方を掲載します。
読込みは、OpenステートメントとInputモードを使います。
OpenステートメントとOutputモードの構文
Open PathName For Input [Lock] As #FileNumber
- PathName:(省略不可)フルパスのファイル名を指定します。
- Lock:(省略可)他のプロセスからの操作をキーワードで指定します。キーワードは、Shared・Lock Read・Lock Write・Lock Read Writeです。
- FileNumber:(省略不可)1 ~ 511 の範囲で任意のファイル番号を指定します。使用可能なファイル番号を取得するには、FreeFile関数を使用します。
文字列を読込むには Line Inputステートメントを使います。
Line Input #ステートメントの構文
Print #FileNumber,VarName
- FileNumber:(省略不可)Openステートメントで指定したファイル番号を指定します。
- VarName:(省略不可)読込んだデータを格納する変数を指定します。変数はバリアント型か文字列型で宣言指定します。
ファイルを閉じるにはCloseステートメントを使います。
Closeステートメントの構文
Close [#FileNumber1] [, #FileNumber2 …]
- FileNumbert:(省略可)Openステートメントで指定したファイル番号を指定します。
関連する「テキストファイルへ書き込み|Open For Output As」を掲載していますので参照してください。
テキストファイルを読込むExcel VBA
ExcelシートとVBA入力画面
シートにコマンドボタンを配置します。
ExTextReadプロシージャ、CommandButton1のクリックイベントを入力します。
VBAコードの解説
ExTextWriteプロシージャ
- ファイル番号を格納する変数を宣言します。
- 読込んだデータを格納する、文字列型の変数を宣言します。
- Do Loopで使用する、カウント用の変数を宣言します。
- FreeFile関数で使用可能なファイル番号を取得し、変数に代入します。
- OpenステートメントとInputモードでファイルを開きます。
- Do Loopでファイル終りまでループします。ファイルの終わりはEOFで判定します。
- Line Input #ステートメントで一行単位で読みます。
- Cellsでセル位置を指定し、読込んだデータを表示します。
- Closeステートメントでファイルを閉じます。
CommandButton1のクリックイベント
- ExTextReadプロシージャを呼び出し実行します。
ExcelシートのVBAコード
Option Explicit
Private Sub ExTextRead()
Dim fno As Integer
Dim s1 As String
Dim i As Integer
i = 0
fno = FreeFile
Open "c:\test1\test.txt" For Input As fno
Do Until EOF(fno)
Line Input #fno, s1
Cells(8 + i, 2) = s1
i = i + 1
Loop
Close fno
End Sub
Private Sub CommandButton1_Click()
ExTextRead
End Sub
実行結果 Excel画面
読込みボタンをクリックすると、読込んだ結果をB8から表示していきます。
Excel Tipsメニューへ
■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します
Copyright (c) Excel-Excel ! All rights reserved