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

1行1件として整っていないテキストファイル(たとえばメール本文のような内容)を、Get #ステートメントでファイル全体をある変数に丸ごと読み込む例です。

「#520 テキストファイルを丸ごと変数に読み込む方法(1)」ではテキストファイルをBinaryモードで開いていますが、ここではRandomモードで開く場合を紹介します。

Randomモードを使うケースとしては、ユーザー定義型変数を使って、1件分のレコードとしてランダムファイルから特定部分を読み込むという場合がよくあります。その場合、1件分に当るデータの長さを「Len =〜〜」のように指定する必要がありますが、ここではファイル全体を丸ごと読み込むので、本来はそのファイルのサイズを指定します。ただしここでは、ファイルサイズを取得せずに、指定可能な最大値である32767をいきなり指定しまっています。

また、テキストファイルに全角文字が含まれている場合には、エラーとなったりうまく読み込めない場合がありますので、その場合には「#520 テキストファイルを丸ごと変数に読み込む方法(1)」を使ってみてください。


Dim intFileNum As Integer
Dim strData As String

'テキストファイルをRandomモードで開く
intFileNum = FreeFile()
Open "C:\Data\テキスト.txt" For Random As #intFileNum Len = 32767
'ファイルからデータを一気に読み込む
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