주어진 디렉토리를 통해 루프를 실행하여 최신 다운로드 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)'전체 경로를 입력해야합니다. 다른 사람들도 마찬가지입니다. –