#320 テキストファイルを1件ずつ読み込む基本例文 VBA

次のサンプルコードは、さまざまなテキストファイルに応用できる、VBAで直接テキストファイルを読み込む基本例文です。

Line Inputステートメントを使って現在の1行全体(改行コードまで)を読み込みます。そしてここでは、読み込んだすべてのデータを変数strFileDataの後ろに付け足していき、最後にその全体をイミディエイトウィンドウに出力しています。もしファイル全体を取得するのではなく、1件1件に対して処理を行う場合であれば、読み込んだデータを組み立てるコードは不要で、その代わりにstrInData変数に対して何らかの処理を行います。
  Dim lngFileNum As Long
  Dim strInData As String
  Dim strFileData As String

  '現在利用可能なファイル番号を取得
  lngFileNum = FreeFile()
  'テキストファイルを開く
  Open "C:\textfile.txt" For Input As #lngFileNum
  strFileData = ""
  'ファイル全体を読み込むループ
  Do Until EOF(lngFileNum)
    'ファイルから1件(改行コードまで)読み込み
    Line Input #lngFileNum, strInData
    '読み込んだデータを組み立て
    strFileData = strFileData & strInData & vbCrLf
  Loop
  '最後に追加した改行を消します
  strFileData = Left$(strFileData, Len(strFileData) - 2)
  'テキストファイルを閉じる
  Close #lngFileNum

  Debug.Print strFileData
※読み込んだデータを組み立てる部分で定数vbCrLf(改行コード)を加えているのは、Line Inputステートメントで読み込んだデータには改行コードが含まれていないためです。
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved