Teste un repertoire (Urgent et surement simple ^^)
Rastacana
Messages postés55Date d'inscriptionvendredi 20 octobre 2000StatutMembreDernière intervention19 juin 2002
-
17 juin 2002 à 16:46
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 2014
-
25 févr. 2007 à 15:07
Voila en faite je desire tester si c:\a existe et s il n existe pas le creer cependant je n arrive pas a faire un fonction qui teste l existence...
je fait cela moi
if not Fichierexiste("c:\a")then
mkdir("c:\a)
end if
ma fonction fichierexiste me renvoie tj faux comment en creer une qui sacche bien si le rep existe ou pas (Si sa se trouve il ya mile fois plus simple)
Merci^_^
A voir également:
Teste un repertoire (Urgent et surement simple ^^)
borntoclimb
Messages postés98Date d'inscriptionvendredi 4 janvier 2002StatutMembreDernière intervention 7 mars 20064 18 juin 2002 à 10:04
"C:\a" c'est un repertoire ou un fichier?
Sinon tu peux chercher du coter des FSO (File System Object), quelqu'un a deja du deposer une source.
Si tu ne trouves pas je peux te dire comment faire (fo que je cherche dans mes sources), c'est pas complique.
cs_JMO
Messages postés1854Date d'inscriptionjeudi 23 mai 2002StatutMembreDernière intervention24 juin 201827 18 juin 2002 à 14:30
Bonjour,
Ci-dessus, je teste si 1 répertoire existe:
1) oui, je copie x fichiers
2) non, je crée le reprtoire + copie de fichiers
Dim wRepSrce1
Dim wRepDest1
wRepSrce1 = "c:\CSSI\Ales"
wRepDest1 = "c:\Archive-Ales"
wSrce1 = "c:\CSSI\Ales\*.txt"
If Not fso.FolderExists(wRepDest1) Then
Set f = fso.CreateFolder(wRepDest1)
msgBox "Création du dossier "&f&" effectuée.",vbInformation
fso.MoveFile wSrce1, wRepDest1
Else
msgBox "Attention:"&vbCrLf&"Le répertoire "&wRepDest1&" existe déjà.",vbCritical
End if
borntoclimb
Messages postés98Date d'inscriptionvendredi 4 janvier 2002StatutMembreDernière intervention 7 mars 20064 18 juin 2002 à 21:21
Je repete probablement le message de JMO:
'Verifie l'existence d'un repertoire
Public Function ExistPath(path) As Boolean
Set fso = CreateObject("Scripting.FileSystemObject")
ExistPath = fso.FolderExists(path)
End Function
'creation d'un repertoire
Public Sub Createdir(EntireDir As String, alert As Boolean)
If ExistPath(EntireDir) = False Then
MkDir (EntireDir)
Else
If alert = True Then
MsgBox "le repertoire " + EntireDir + " existe deja."
End If
End If
End Sub
borntoclimb
Vous n’avez pas trouvé la réponse que vous recherchez ?
yiott
Messages postés4Date d'inscriptiondimanche 31 octobre 2004StatutMembreDernière intervention18 octobre 2013 1 juin 2005 à 23:04
mais arretez avec vos composant ActivX...
VB integre des fonction basique (les meme que Windows a peu de choses près!!!)
voila le code pour tester si un fichier existe et si non le creer:
If (Dir(chemin/dossier_a_tester)) <> "dossier_a_tester" Then'la fonction dir renvoi le nom du dossier si il existe et rien si non
MkDir (chemin/dossier_a_tester) 'Mkdir creer un dossier a l'emplacement specifié!
End If
c'est quand meme beaucoup plus propre!!! et portable!!!
yiott
Messages postés4Date d'inscriptiondimanche 31 octobre 2004StatutMembreDernière intervention18 octobre 2013 31 juil. 2005 à 09:43
Ca...c'est de la programmation a la Microsoft!!
On error resume next... Je suis d'accord parfois c indispensable mais faut quand meme eviter de le placer!! ca revien a dire, si ta une erreure, tu passe a l'action d'après et on ignore l'erreure...
si le dossier existe pas il é creer et si il y a une erreure après 3 ou 4 ligne plus bas on "resume next" et hop ion risque joyeusement une petite boucle infinie ou un erreure dites "bleue"...
Non pour creer un dossier jpense qu'il vo mieu evier les on error resume next tout comme les on error goto error c du bug assuré!
jmfmarques
Messages postés7666Date d'inscriptionsamedi 5 novembre 2005StatutMembreDernière intervention22 août 201427 25 févr. 2007 à 15:00
Ouais....
Il est pourtant tellement simple d'utiliser une simple gestion d'erreur et des messages d'erreurs éventuellement reçus !
puis-je timidement rappeler que VB ne fait jamais rien d'autre que d'utiliser les fonctions de l'API de Windows et que, pour ce sujet, ce sera la fonction CreateDirectory de la librairie kernel32, laquelle retournera tout bêtement une valeur 0 d'insuccès ou <> 0 en cas de succès, et qu'enfin, si l'on souhaire avoir des précisions (si la valeur retournée est différente de 0), la fonction GerLastError les retournera à la demande ?
Il est bien évidemment bien inutile d'appeler CreateDirectory (ce que fait déjà VB) et GetLastError (ce que sait traiter VB en gestioçn d'erreurs)... encore que... l'on y gagnerait en vitesse d'exécution.
Je trouve que l'on veut trop souvent réinventer la roue....