#784 | テキストファイルを丸ごとフィールドに格納する方法 | VBA | |
ディスク等に単独で保存されているテキストファイルの内容を丸ごと読み込み、Accessデータベース内のテーブルの1フィールドにまとめて格納する方法です。 このような処理を行うことで、別ファイルとなっていたテキストデータをデータベース内で一括保管できるとともに、テーブル上で検索したりクエリを使って抽出したりといったデータ操作も行えます。 次の例では、「C:\テスト」にある拡張子「.htm」のテキストファイルをすべて読み込み、「tblテキストファイルデータ」テーブルに1ファイル1レコードとしてそれぞれ取り込みます。
Dim dbs As Database Dim rst As Recordset Dim strFileName As String Dim intFilenum As Integer Dim lngRecLen As Long Dim strData As String Const cstrDir = "C:\テスト\" Set dbs = CurrentDb Set rst = dbs.OpenRecordset("tblテキストファイルデータ") 'C:\テストフォルダ内の最初の.htmlファイルを読み込む strFileName = Dir(cstrDir & "*.html") 'フォルダ内のすべての.htmlファイルを読み込むループ Do While strFileName <> "" '入力元ファイルをBinaryモードで開く intFilenum = FreeFile() Open cstrDir & strFileName For Binary As #intFilenum 'ファイルのサイズを取得 lngRecLen = LOF(intFilenum) 'ファイルサイズに合わせて変数をスペースで埋める strData = String$(lngRecLen, " ") 'ファイルを丸ごと読み込む Get #intFilenum, , strData 'NULL文字を除去 strData = Replace(strData, vbNullChar, "") '読み込んだデータを新規レコードにフィールドに格納 With rst .AddNew !ファイル名 = strFileName !テキストデータ = strData .Update End With '入力元ファイルを閉じる Close #intFilenum '次のファイルへ進む strFileName = Dir() Loop rst.Close ※参考Tips:「#785 フィールドの内容を丸ごとテキストファイルに出力する方法」 ※参考Tips:「#520 テキストファイルを丸ごと変数に読み込む方法(1)」 |
|||
|
Copyright © T'sWare All rights reserved |