FileSearchを使えばシート上でソートしないで名前順などで
フォルダ内のファイル一覧を取得できます。
なかなか分かりやすいHPがないですね。
「FileSearch」「Application.FileSearch」
でネット検索してみてください。参考になると思います。
Sub test()
Dim Fol As String
Dim fso As FileSearch
Dim fmei As String
Dim i As Long
Dim myFile() As Variant
On Error GoTo er
Fol = CreateObject("Shell.Application").BrowseForFolder(0, "選択して下さい。 ", 0).self.Path
Set fso = Application.FileSearch
With fso
.NewSearch
.LookIn = Fol & "\"
.Filename = "*.*"
.Execute SortBy:=msoSortByName, _
sortorder:=msoSortOrderAscending
i = .FoundFiles.Count
ReDim myFile(i)
For i = 1 To .FoundFiles.Count
myFile(i) = .FoundFiles(i)
With Sheet1
fmei = Split(fso.FoundFiles(i), "\")(UBound(Split(fso.FoundFiles(i), "\")))
fmei = Split(fmei, ".")(0)
.Cells(i, 1).Value = fmei
.Cells(i, 2) = _
FileDateTime(fso.FoundFiles(i))
End With
Next
End With
Exit Sub
er:
AppActivate Application.Caption
MsgBox "中止"
End Sub
お礼
回答ありがとうございます。 この方法ですとシートを使用しなくて良いようですね。 VBAはあまり詳しくないので、手探りの状態です。 ネットでの検索が主な頼りとなっています。 困ったときにまた質問させてください。 ありがとうございました。