pconne
Messages postés8Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention24 juillet 2022
-
1 août 2010 à 14:42
pconne
Messages postés8Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention24 juillet 2022
-
2 août 2010 à 11:31
Bonjour,
Quelqu'un peut me dire pourquoi dans le code suivant Label1.Visible = True n'est pas exécuté, comme d'ailleur n'importe commande placée à cet endroit
-------------------
Private Sub Command1_Click()
Dim filesys
Set filesys = CreateObject("Scripting.FileSystemObject")
Label1.Visible = True if filesys.FolderExists("c:\xxx") Then
filesys.CopyFolder "c:\xxx", "C:\zzz", True
End If
End Sub
-------------------
Comment faire pour exécuter une commande juste avant CopyFolder ?
Mayzz
Messages postés2812Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 1 août 2010 à 16:27
Salut,
A mon avis le code ne s'exécute pas car une erreur survient à la ligne qui précède.
Set filesys = CreateObject("Scripting.FileSystemObject")
Mon vb6 est loin, mais il me semble que l'appel au FSO requière 'scrrun.dll' (dll <= pas sûr), ce composant doit se trouvé sur la machine et être enregistré via regsvr32.exe
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
pconne
Messages postés8Date d'inscriptionjeudi 2 novembre 2000StatutMembreDernière intervention24 juillet 2022 1 août 2010 à 19:19
Tu m'as mal compris. Ma commande de copie de répertoire fonctionne correctement
Seule la ligne Label1.Visible = True ne marche pas. Mon label1 reste invisible
Je précise que
1) Label1.Visible = True fonctionne ailleurs dans mon programme sans problème mais pas si je la place avant le lancement de ma copie de répertoire
2) n'importe quelle commande avant le lancement de ma copie de répertoire ne fonctionne pas non plus
D'ailleurs
Label1.Visible = True
Dim filesys
Set filesys = CreateObject("Scripting.FileSystemObject")
ou
Dim filesys
Label1.Visible = True
Set filesys = CreateObject("Scripting.FileSystemObject")
Mayzz
Messages postés2812Date d'inscriptionmardi 15 avril 2003StatutMembreDernière intervention 2 juin 202028 1 août 2010 à 19:35
Donc si je comprend bien,
Private Sub Command1_Click()
Dim filesys
Set filesys = CreateObject("Scripting.FileSystemObject")
'Code n'étant pas exécuté
if filesys.FolderExists("c:\xxx") Then
filesys.CopyFolder "c:\xxx", "C:\zzz", True
End If
End Sub
Tu dis que le code n'est pas exécuté ? Quelque soit la ligne de code ? As-tu assayé le teste du msgbox ?
Je plancherais plutôt pour dire que : le fait que la copie du dossier puisse être longue et étant donné que la fonction de copie est synchrone, l'affichage du label n'a pas le temps de se faire, essaye donc avec Me.Refresh derrière.
Private Sub Command1_Click()
Dim filesys
Set filesys = CreateObject("Scripting.FileSystemObject")
Label1.Visible = True
Me.Refresh
if filesys.FolderExists("c:\xxx") Then
filesys.CopyFolder "c:\xxx", "C:\zzz", True
End If
End Sub
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.