Tester si la chaine de caractère mène a un dossier ou un fichier

Tester si la chaine de caractère mène a un dossier ou un fichier - VB/VBA/VBS - Programmation

Marsh Posté le 17-10-2018 à 16:18:59    

Bonjour tout le monde,
Je suis à la recherche d'un bout de code me permettant de vérifier si la chaine de caractère que je rentre mène a un fichier ou à un dossier.  
Je connais le test "Len(Dir(MaChaine, vbDirectory))>0" mais j'utilise déja un Dir() dans mon code, et l'utiliser a nouveau me remet a zero l'exploration de mon dossier...
 
Donc, objectif = Définir si "MaChaine" est un chemin pour un dossier ou pour un fichier sans utiliser Dir()
 
Merci d'avance !

Reply

Marsh Posté le 17-10-2018 à 16:18:59   

Reply

Marsh Posté le 17-10-2018 à 17:17:13    

Bonjour,
 
Enregistre ton précédent dir() ou appelle-le plus tard ?


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
Reply

Marsh Posté le 18-10-2018 à 13:56:13    

Bonjour,
 
Tu peux utiliser le FSO :
http://warin.developpez.com/access/fichiers/


---------------
Cordialement, Patrice
Reply

Marsh Posté le 19-10-2018 à 09:26:47    

Merci à vous !
 
@MaybeEijOrNot : Je ne connais pas la procédure pour enregistrer un Dir() à l'endroit ou il en est... Si je repasse le Dir() avec le précédent chemin, il repart à zéro et scanne a nouveau les fichiers déjà scanné. Au pire, je journalise dans un tableau les fichiers déja scannés et les ignore au 2eme scan (probable perte de temps d'exécution mais pas gênant vu que ma boucle est assez courte...)
 
@Patrice33740 : Je regarde cette doc ! Merci :)

Reply

Marsh Posté le 19-10-2018 à 16:56:32    

Merci à tous,
 
@Patrice33740 : Avec la fonction oFSO.FolderExists() j'ai fait mes tests et conservé ma "progression" dans mon Dir ! Ca roule impec :)
Juste faire attention au déploiement d'avoir bien les memes versions des "librairies" sur les différents postes !

Reply

Marsh Posté le 22-10-2018 à 15:05:18    

Alors :
 
1/  ' Activer "Microsoft Scripting Runtime"
 
2/  'Instanciation du FSO :
Set oFSO = New Scripting.FileSystemObject
 
3/ 'Test du chemin :
If oFSO.FolderExists(FileScan) Then
   - Action !
End If
 
Et pour moi, ca marche :)
Merci bcp !
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed