문제

최신 다운로드 된 CSV 파일을 찾으려면 주어진 디렉토리를 반복하려고합니다.어떤 이유로 내 이유가 파일이 존재하더라도 파일을 찾지 못합니다.나는 VBA에 완전히 익숙하지 않으므로 DIR 기능을 수행하기위한 일종의 참조를 누락 할 수도 있지만 온라인으로 필요한 것을 알 수 없습니다.모든 예와 포럼은 내가하는 것처럼 DIR을 사용하지만, 나는 일할 수 없다.다음은 코드가 있습니다. 내가 무엇을 잘못하고 있는지 알 수 있는지 알려주십시오.

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 파일은 내 다운로드 파일에 있고 FilePath 문자열은 올바른 경로로 인쇄되지만 파일을 찾을 수 없다는 오류가 계속 발생합니다.Dir (Pathtofile)의 첫 번째 사용에서 실패합니다.어떤 도움이 크게 감사 할 것입니다.

도움이 되었습니까?

해결책

Dir()는 경로의 파일 이름 부분 (즉, 폴더 부분을 리턴하지 않는다.예를 들어

Dir("C:\MyPath\MyFile.txt")
.

MyFile.txt not C:\MyPath\MyFile.txt 를 반환합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top