#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 実行例: テキストファイルの内容 イミディエイトウィンドウの結果 |
|||
|
Copyright © T'sWare All rights reserved |