我有这个错误消息,我完全迷路了......
我想我检查了所有可能出错的地方,也许你们中的一个人可以看到错误或其他什么。我的大脑现在完全被阻塞了。
提前致谢
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