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


文字列を読込むには Line Inputステートメントを使います。

Line Input #ステートメントの構文

Print #FileNumber,VarName


ファイルを閉じるにはCloseステートメントを使います。

Closeステートメントの構文

Close [#FileNumber1] [, #FileNumber2 …]


関連する「テキストファイルへ書き込み|Open For Output As」を掲載していますので参照してください。




テキストファイルを読込むExcel VBA


ExcelシートとVBA入力画面

シートにコマンドボタンを配置します。



ExTextReadプロシージャ、CommandButton1のクリックイベントを入力します。


VBAコードの解説

ExTextWriteプロシージャ
  1. ファイル番号を格納する変数を宣言します。
  2. 読込んだデータを格納する、文字列型の変数を宣言します。
  3. Do Loopで使用する、カウント用の変数を宣言します。
  4. FreeFile関数で使用可能なファイル番号を取得し、変数に代入します。
  5. OpenステートメントとInputモードでファイルを開きます。
  6. Do Loopでファイル終りまでループします。ファイルの終わりはEOFで判定します。
  7. Line Input #ステートメントで一行単位で読みます。
  8. Cellsでセル位置を指定し、読込んだデータを表示します。
  9. Closeステートメントでファイルを閉じます。
CommandButton1のクリックイベント

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