我有这个错误消息,我完全迷路了......
我想我检查了所有可能出错的地方,也许你们中的一个人可以看到错误或其他什么。我的大脑现在完全被阻塞了。
提前致谢
Option Explicit
Public newestFile As Object
Sub Scan_Click()
Dim path As String
Dim row As Integer: row = 2
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("ETA File Server")
With ws
Do
If .Cells(row, 1).Value = "" Then Exit Do
path = .Cells(row, 1).Value
Application.StatusBar = "Processing folder " & path
DoEvents
If .Cells(row, 1).Value <> "Root" Then
Call getNewestFile(path)
.Cells(row, 9).Value = newestFile.DateLastModified
.Cells(row, 10).Value = newestFile.Name
Set newestFile = Nothing
row = row + 1
Else
row = row + 1
End If
Loop
End With
Application.StatusBar = "Done"
End Sub
Private Sub getNewestFile(folderpath As String)
Dim objFSO As Object, objFolder As Object, objFile As Object
'get the filesystem object from the system
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(folderpath)
'go through the subfolder and call itself
For Each objFile In objFolder.SubFolders
Call getNewestFile(objFile.path)
DoEvents
Next
For Each objFile In objFolder.Files
If newestFile Is Nothing Then
Set newestFile = objFile
ElseIf objFile.DateLastModified > newestFile.DateLastModified Then
Set newestFile = objFile
End If
Next
End Sub