|
勉強不足で申し訳ありません
繰り返し処理について教えてください。
列B8〜にフォルダ保存バスが入っています。
列C8〜に列Bで指定したフォルダに存在するファイルの内
最新(直近に作成された)のファイル名を
表示させたいといろいろなサイトを検索して
以下を作りました。
Sub ファイル名転記()
Dim fso, fol, fc, f1, f2
Set fso = CreateObject("Scripting.FileSystemObject")
Set fol = fso.GetFolder(Cells(8, 2))
Set fc = fol.Files
For Each f1 In fc
If IsEmpty(f2) = True Then
Set f2 = fso.GetFile(f1)
End If
If f1.DateLastModified > f2.DateLastModified Then
Set f2 = fso.GetFile(f1)
End If
Next
Cells(8, 3).Value = f2.Name
End Sub
これをB列にデータがあれば全てのC列に自動的にデータが転記されるようにしたいと
以下のとおり作ってみましたが、全く反応しませんでした、
どのように作り替えればよいのか、どなたかご教授頂けませんでしょうか。
どうぞよろしくお願いします。
Sub 連続ファイル名転記()
Dim i As Long
Dim MaxRow As Long
MaxRow = Sheets("添付書類").Cells(Rows.Count, 2).End(xlUp).Row
For i = 1 To MaxRow
Dim fso, fol, fc, f1, f2
Set fso = CreateObject("Scripting.FileSystemObject")
Set fol = fso.GetFolder(Cells(i, 2))
Set fc = fol.Files
For Each f1 In fc
If IsEmpty(f2) = True Then
Set f2 = fso.GetFile(f1)
End If
If f1.DateLastModified > f2.DateLastModified Then
Set f2 = fso.GetFile(f1)
End If
Next
Cells(i, 3).Value = f2.Name
Next i
End Sub
|
|