Sub prc選択フォルダ内のファイル一覧をテーブルに格納()
Dim fdlg As FileDialog ' ファイルダイアログ
Dim strFolderPath As String ' 選択されたフォルダのパス
Dim objFSO As FileSystemObject ' ファイルシステム操作
Dim fld選択フォルダ As Folder ' 選択されたフォルダ
Dim filファイル As File ' フォルダ内の各ファイル
Dim strSQL As String ' SQLクエリ
Dim db As DAO.Database ' Accessデータベース
Dim rst As DAO.Recordset ' レコードセット
' FileDialogオブジェクトを作成
Set fdlg = Application.FileDialog(msoFileDialogFolderPicker)
' ダイアログのタイトルを設定
fdlg.Title = "フォルダを選択してください"
' ダイアログを表示し、キャンセルが選択された場合はCancelSelectedラベルへスキップ
If fdlg.Show <> -1 Then GoTo CancelSelected
' 選択されたフォルダのパスを取得
strFolderPath = fdlg.SelectedItems(1)
' FileSystemObjectを作成
Set objFSO = New FileSystemObject
' Folderオブジェクトを取得
Set fld選択フォルダ = objFSO.GetFolder(strFolderPath)
' データベースオブジェクトを取得
Set db = CurrentDb()
' テーブルAの全レコードをクリア
strSQL = "DELETE * FROM TableA"
db.Execute strSQL, dbFailOnError
' レコードセットを開く
Set rst = db.OpenRecordset("TableA", dbOpenDynaset)
' フォルダ内の各ファイルに対して処理
For Each filファイル In fld選択フォルダ.Files
' レコードを新規追加
rst.AddNew
rst("FileName") = filファイル.Name
rst("FolderName") = fld選択フォルダ.Name
rst.Update
Next filファイル
' レコードセットとデータベースオブジェクトを閉じる
rst.Close
Set rst = Nothing
Set db = Nothing
CancelSelected:
' オブジェクトを解放
Set fdlg = Nothing
Set fld選択フォルダ = Nothing
Set objFSO = Nothing
End Sub