#520 テキストファイルを丸ごと変数に読み込む方法(1) VBA

CSVファイルのように1行が1件のデータとして構成されているようなテキストファイルの読み込みには、Line Input #ステートメントを使って1行ずつ読み込んでいった方が後処理が楽です。

一方、1行1件として整っていないテキストファイル(たとえばメール本文のような内容)については、Line Input #ステートメントを使ってループで1行ずつ読み込んで変数に「&」で次々と加えていくことで全体を取得する方法もありますが、Get #ステートメントを使うことで、ひとつの命令で、ある変数にファイル全体の内容を丸ごと読み込んでしまった方が楽な場合があります。

次の例では、テキスト.txtというファイルを一気に読み込んでstrData変数に代入しています。

Dim intFileNum As Integer
Dim lngRecLen As Long
Dim strData As String

'テキストファイルをBinaryモードで開く
intFileNum = FreeFile()
Open "C:\Data\テキスト.txt" For Binary As #intFileNum
'開いたファイルのサイズを取得
lngRecLen = LOF(intFileNum)
'ファイルサイズに合わせて変数をスペースで埋める
strData = String$(lngRecLen, " ")
'ファイルからデータを一気に読み込む
Get #intFileNum, , strData
'NULL文字を除去
strData = Replace(strData, vbNullChar, "")
'イミディエイトウィンドウに出力
Debug.Print strData
'ファイルを閉じる
Close #intFileNum


実行例:
テキストファイルの内容
テキストファイルの内容

イミディエイトウィンドウの結果
イミディエイトウィンドウの結果
| Index | Prev | Next |



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