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


Copyright © T'sWare All rights reserved