#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'sWareのワンポイトテクニカルアドバイスをご利用ください。3000円/件〜でご支援します。
スタンドアロンからSQL Server対応まで、オーダーメイドのシステムを短納期・安価でお届けします
 

Copyright © T'sWare All rights reserved