VB copie de fichier

Signaler
Messages postés
14
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
9 juin 2008
-
Messages postés
14
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
9 juin 2008
-
Bonjour, je souhaite faire une copie de fichier, mais je ne comprend pas pourquoi ça ne marche pas! voici le code

intNum = Form1.Num_serie.Text
vitre = Form1.Cmb1.Text
an = Form1.Calendar1.Year


'Vérification de l'existance du dossier "Vitre"
dossier:
Dim dossier As String
dossier = fso.FolderExists("[file://\\Srvsully1\pcr&d\Sauv_Piqûres2\Documents\photo\ \\Srvsully1\pcr&d\Sauv_Piqûres2\Documents\photo\]" & vitre & "")
    If dossier = True Then
        GoTo sous_dossier
    Else
        fso.CreateFolder ("[file://\\Srvsully1\pcr&d\Sauv_Piqûres2\Documents\photo\ \\Srvsully1\pcr&d\Sauv_Piqûres2\Documents\photo\]" & vitre & "")
    End If
   
'Vérification de l'existance du dossier "Année"
sous_dossier:
Dim sous_dossier As String
sous_dossier = fso.FolderExists("[file://\\Srvsully1\pcr&d\Sauv_Piqûres2\Documents\photo\ \\Srvsully1\pcr&d\Sauv_Piqûres2\Documents\photo\]" & vitre & "" & an & "")
    If sous_dossier = True Then
        GoTo suite
    Else
        fso.CreateFolder ("[file://\\Srvsully1\pcr&d\Sauv_Piqûres2\Documents\photo\ \\Srvsully1\pcr&d\Sauv_Piqûres2\Documents\photo\]" & vitre & "" & an & "")
    End If
 
suite:
'Lancement des copies
foto_origine = "C:\GENEACAPTURE\DIRECT" & année & "_" & mois & "_" & Jour & "\Nouvelle photo_1.jpg"
foto_fixe = "[file://\\Srvsully1\pcr&d\Sauv_Piqûres2\mesure \\Srvsully1\pcr&d\Sauv_Piqûres2\mesure] piqures\Photo\Prise de vue.jpg"
foto_copie = "[file://\\Srvsully1\pcr&d\Sauv_Piqûres2\Documents\photo\ \\Srvsully1\pcr&d\Sauv_Piqûres2\Documents\photo\] " & vitre & "" & an & "" & intNum & ".jpg"
fso.CopyFile foto_origine, foto_copie
fso.MoveFile foto_origine, foto_fixe

C'est la fonction copyfile qui pose problème. Il me dit 'chemin d'accès introuvable". Or quand je met la la ligne copyfile en commentaire, la fonction MoveFile fonctionne bien. La création des dossiers vitre et an se fait bien. Si quelqu'un à une idée...

4 réponses

Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
70
on n'utilise pas FSO en dehors du VbScript, c'est trop lent...


en déclarant l'API suivante :
Private Declare Function MkDir Lib "imagehlp.dll" Alias "MakeSureDirectoryPathExists" (ByVal lpPath As String) As Long

tu pourrais faire:

intNum = Form1.Num_serie.Text
vitre = Form1.Cmb1.Text
an = Form1.Calendar1.Year

foto_origine = "C:\GENEACAPTURE\DIRECT" & année & "_" & mois & "_" & Jour & "\Nouvelle photo_1.jpg"
foto_fixe = "\\Srvsully1\pcr&d\Sauv_Piqûres2\mesure piqures\Photo\Prise de vue.jpg"
foto_copie = "\\Srvsully1\pcr&d\Sauv_Piqûres2\Documents\photo\ " & vitre & "" & an & "" & intNum & ".jpg"

MkDir "\\Srvsully1\pcr&d\Sauv_Piqûres2\mesure piqures\Photo"
MkDir "\\Srvsully1\pcr&d\Sauv_Piqûres2\Documents\photo\ " & vitre & "" & an & ""

FileCopy foto_origine, foto_copie
Name foto_origine As foto_fixe
Messages postés
14
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
9 juin 2008

MkDir remplace t il la boucle de test pour savoir si le dossier existe deja? Parce que la plus part du temps le dossier existe deja.

Ton instruction "Name foto_origine As foto_fixe " est l'équivalent de move file?
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
70
oui aux deux question
Messages postés
14
Date d'inscription
mardi 17 décembre 2002
Statut
Membre
Dernière intervention
9 juin 2008

merci