|
▼にしもり さん:
DIRを記述する場所については申し上げたとおりですが、コードをよくよく読んでみましたら
エラーの直接の原因がわかりましたよ。
>Worksheets("ファイル一覧").Cells("A", 貼付行)
Cellsで記述するなら Cells(貼付行,"A")
Rangeで記述するなら Range("A" & 貼付行)
また、いずれの場合のプロパティは明示することをお奨めします。
Cells(貼付行,"A").Value あるいは Range("A" & 貼付行).Value
ついでに、FSOを使ったコード例を。
A列にフォルダパス、B列にファイル名、C列に作成日、時刻を記載します。
Sub FSOSample()
Dim fso As Object
Dim sh As Worksheet
Dim myLine As Long
Set fso = CreateObject("Scripting.FileSystemObject")
Set sh = Worksheets("ファイル一覧")
sh.Cells.ClearContents
myLine = 0
Call getFiles(fso.getfolder("C:\AAA"), sh, myLine)
Set fso = Nothing
Set sh = Nothing
End Sub
Private Sub getFiles(myfolder As Object, sh As Worksheet, myLine As Long)
Dim myFile As Object
Dim folder As Object
Dim myWord As String
myWord = "*Trainning*"
For Each myFile In myfolder.Files
If myFile.Name Like myWord Then
myLine = myLine + 1
sh.Cells(myLine, "A").Value = myFile.parentfolder.Path
sh.Cells(myLine, "B").Value = myFile.Name
sh.Cells(myLine, "C").Value = myFile.datecreated
End If
Next
For Each folder In myfolder.subfolders
Call getFiles(folder, sh, myLine)
Next
End Sub
|
|