Próbuję przejść przez dany katalog, aby znaleźć najnowszy pobrany plik CSV. Z jakiegoś powodu moja funkcja Dir nie znajdzie żadnego pliku, nawet jeśli plik istnieje. Nie jestem do końca zaznajomiony z VBA, więc być może brakuje mi jakiegoś odniesienia do funkcji Dir, ale nie mogę znaleźć niczego online, co mówi mi, że muszę. Wszystkie przykłady i fora używają Dir tak jak ja, ale nie mogę zabrać mnie do pracy. Oto kod, proszę mi powiedzieć, czy można zobaczyć, co robię źle:Funkcja Dir w programie Excel 2010 VBA nie działa
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
Plik test.txt jest w moim pliku pobiera i drukuje ciąg filePath się być prawidłowa ścieżka, ale zachować pojawia się błąd stwierdzający, że nie może znaleźć pliku. Nie powiedzie się przy pierwszym użyciu Dir (pathToFile). Każda pomoc będzie bardzo ceniona.
Błąd nie jest z DIR. Błąd występuje w tym wierszu 'lastMod = FileDateTime (StrFile)' Musisz podać pełną ścieżkę. Podobnie dla innych. –