0
私はAccess 2013を使用していて、渡されたフォルダパス内のすべての画像を検索する小さなプログラムを持っています。次に、これらのパスのそれぞれを「tblImages」という表に追加します。唯一の問題は、各フォルダ\ subフォルダ内の最初の画像、つまり各フォルダの1画像だけを返し、残りは無視するということです。各フォルダ\ subフォルダ内のすべての画像を検索して追加するには、どうすれば変更できますか?VBA検索フォルダとサブフォルダにアクセスしてテーブルに結果を追加します
Public Sub listImages(folderPath As String)
'define variables
Dim fso As Object
Dim objFolder As Object
Dim objFolders As Object
Dim objF As Object
Dim objFile As Object
Dim objFiles As Object
Dim strFileName As String
Dim strFilePath As String
Dim myList As String
Dim rst As DAO.Recordset
'set file system object
Set fso = CreateObject("Scripting.FileSystemObject")
'set folder object
Set objFolder = fso.GetFolder(folderPath)
'set files
Set objFiles = objFolder.files
Set objFolders = objFolder.subfolders
'list all images in folder
For Each objFile In objFiles
If Right(objFile.Name, 4) = ".jpg" Then
strFileName = objFile.Name
strFilePath = objFile.path
myList = myList & strFileName & " - " & strFilePath & vbNewLine
End If
Next
'go through all subflders
For Each objF In objFolders
'call same procedure for each subfolder
Call listImages(objF.path)
Next
Set rst = CurrentDb.OpenRecordset("tblImages", dbOpenDynaset, dbSeeChanges)
With rst
.AddNew
.Fields("Image") = strFileName
.Fields("FilePath") = strFilePath
.Update
End With
'Debug.Print myList
Set objFolder = Nothing
Set objFolders = Nothing
Set objFile = Nothing
Set objF = Nothing
Set fso = Nothing
End Sub
クラスモジュールの名前をFileSearchにする必要があります。 – tlemaster
はい@tlemaster明確化のためにありがとう! – Brad
素晴らしい、これは動作します!新しい辞書 ExtensionFilters.Add "JPG" などの新しいのFileSearch 薄暗いExtensionFiltersとして 薄暗いFS、 "JPG" ExtensionFilters.Add "JPEG"、 "JPEG" :多くの感謝 – Michael