Dir Fonction dans Excel 2010 VBA ne fonctionne pas
-
12-12-2019 - |
Question
Je suis en train de faire une boucle par un répertoire donné pour trouver la dernière version du fichier csv téléchargé.Pour une raison quelconque, mon Dir fonction ne trouverez pas de fichier même si le fichier n'existe pas.Je ne suis pas du tout familiers avec VBA donc j'ai peut-être raté quelques sorte de référence pour effectuer la fonction Dir, mais je ne peux pas trouver quelque chose en ligne qui me dit que j'en ai besoin.Tous les exemples et les forums utilisent Dir juste comme je le fais, mais je ne peux le faire mine de travailler.Voici le code, veuillez me dire si vous pouvez voir ce que je fais de mal:
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
L'test.txt le fichier est dans mes Téléchargements de fichier et le chemin d'accès du fichier string imprime à être le chemin d'accès correct, mais je reçois un message d'erreur indiquant qu'il ne peut pas trouver le fichier.Il échoue lors de la première utilisation de la fonction Dir(chemin_fichier).Toute aide serait grandement appréciée.
La solution
Dir()
seulement renvoie le nom de fichier partie du chemin d'accès, c'est à dire, il ne retourne pas le dossier de la partie.Par exemple,
Dir("C:\MyPath\MyFile.txt")
retourne MyFile.txt
pas C:\MyPath\MyFile.txt