Excel マクロ ファイル名取得について
特定のフォルダにあるファイルのファイル名を
Excelに一覧として作成します。
下記マクロで実現できたのですが、フォルダでファイルを
「詳細」で並べて上から順番にB列に反映することは
可能でしょうか。
ご回答お待ちしております。
Sub fileName()
Dim MyF As String
Dim myRow As Long 'ファイル名の取得
myRow = 2
MyF = Dir(ThisWorkbook.Path & "\*")
If MyF <> "" Then
Do Until MyF = ""
Cells(myRow, "B").Value = MyF 'ファイル名
MyF = Dir()
myRow = myRow + 1
Loop
End If
End Sub
「詳細」で並べて上から順番とは、たとえば更新日順ということでしょうか?
そうであれば、C列に一旦更新日も入れて、C列で降順にソートしてC列を消去したらどうでしょう?
Sub fileName()
Dim MyF As String
Dim myRow As Long
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
myRow = 2
MyF = Dir(ThisWorkbook.Path & "\*")
If MyF <> "" Then
Do Until MyF = ""
Cells(myRow, "B").Value = MyF 'ファイル名
Cells(myRow, "C").Value = FSO.GetFile(ThisWorkbook.Path & "\" & MyF).DateLastModified '更新日時
MyF = Dir()
myRow = myRow + 1
Loop
Range(Range("B2:C2"), Range("B2:C2").End(xlDown)).Sort _
Key1:=Range("C2"), Order1:=xlDescending, Header:=xlNo, Orientation:=xlTopToBottom
Range(Range("C2"), Range("C2").End(xlDown)).ClearContents
End If
End Sub
お礼
ご回答ありがとうございます。C列に更新日時を入れることは思いつきませんでした。助かりました。