我試圖通過給定的目錄來查找最新下載的csv文件。由於某些原因,即使文件存在,我的Dir函數也不會找到任何文件。我對VBA並不完全熟悉,所以我可能會錯過某種參考來執行Dir函數,但我無法在網上找到任何告訴我需要的東西。所有的例子和論壇都像我一樣使用Dir,但我無法工作。下面是代碼,請告訴我,如果你能看到我在做什麼錯:Excel 2010中的Dir函數VBA不能正常工作
Public Function Get_File() as string
Dim filePath As String
ChDir ("..")
filePath = CurDir
'Goes back to Documents directory to be in same directory as macro
ChDir (filePath & "\Documents")
filePath = filePath & "\Downloads\test.txt"
filePath = getLatestFile(filePath)
Get_File = filePath
End Function
Public Function getLatestFile(pathToFile As String) As String
Dim StrFile As String
Dim lastMod As Variant
Dim nextMod As Variant
Dim lastFileName As String
StrFile = Dir(pathToFile)
lastFileName = StrFile
lastMod = FileDateTime(StrFile)
While Len(StrFile) > 0
Debug.Print StrFile
StrFile = Dir
nextMod = FileDateTime(StrFile)
If nextMod > lastMod Then
lastFileName = StrFile
lastMod = nextMod
End If
Wend
getLatestFile = lastFileName
End Function
test.txt文件是在我的下載文件的文件路徑字符串打印出來是正確的道路,但我一直得到一個錯誤,指出它找不到該文件。它在第一次使用Dir(pathToFile)時失敗。任何幫助將不勝感激。
該錯誤是不與DIR。錯誤是在這行'lastMod = FileDateTime(StrFile)'你必須提供完整的路徑。對其他人也一樣。 – 2012-07-26 18:11:13