IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

filesystemobject


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Par défaut filesystemobject
    bonjour,
    je voulais savoir comment dire :
    "si il existe des fichiers als ..." pour que mon code fonctionne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
                'Copie les fichiers de l'ancien répertoire vers le nouveau.
                Dim fso As FileSystemObject
                MsgBox "a"
                Set fso = New FileSystemObject
                If fso...................................... Then
                fso.CopyFolder "Dir1.Path", "chemin", True
                End If
                Set fso = Nothing
                'Supprime l'ancien répertoire.
                Dim fso2 As FileSystemObject
                Set fso2 = New FileSystemObject
                'La valeur True passée au deuxième paramètre permet de supprimer le répertoire dans le cas où il aurait l'attribut lecture seule.
                'Ce paramètre est optionnel, et a la valeur False par défaut.
                fso2.DeleteFolder "chemin", True
                Set fso2 = Nothing

  2. #2
    Membre confirmé Avatar de calimero91
    Inscrit en
    Décembre 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Décembre 2005
    Messages : 183
    Par défaut
    il faut que tu fasse une boucle de recherche sur les fichier FSO avant de faire ton if

  3. #3
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Par défaut
    oui mais je ne vois pas comment la faire
    merci pour l'aide

  4. #4
    Membre confirmé Avatar de calimero91
    Inscrit en
    Décembre 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Décembre 2005
    Messages : 183
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    PathName = File1.Path + "\"
    PathFileName = PathName & "*.vsd"
     
    'trouve le premier fichier du répertoire
    CurrFileName = Dir(PathFileName)
     
    Do While CurrFileName <> ""
    If (Not (CurrFileName Like "macro*.vsd") And CurrFileName Like "#####*") Then
     
    ici tu fait ce que tu ve
     
    loop
    voila un bout de code qui devrait t'aider.je l'utiliser pour retrouver les *.vsd dans un repertoire.

    a toi d'adapter a ce qu'il te faut.

  5. #5
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Par défaut
    ça me mets que CurrFileName n'est pas une variable définie
    que dois-je faire ?

  6. #6
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    C'est que tu as peut-être choisi l'option explicit !!!
    Il te suffit dans ce cas de définir la variable CurrFileName.

  7. #7
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Par défaut
    c'est ce que j'ai fait mais en fait il n'y a pa de copie de fichiers

  8. #8
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    As-tu encore le message disant que CurrFineName n'est pas une variable définié ??? Tu ne nous en parles plus !

    Si tu n'as plus ce message mais que "la copie ne se fait pas", c'est du côté des attributs de fichier qu'il convient de chercher...

    Pour lire un fichier normalement (et donc le copier), il faut qu'il soit lisible et donc visible (attribut VBNormal). Tu dois pouvoir gérer tout celà avec GetAttr et SetAttr...

  9. #9
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Par défaut
    non ce message a disparu mais maintenant je vois que le copie des fichiers ne se fait pas.
    mon code est le suivant peut-être que j'ai des fautes dedans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
                'Copie les fichiers de l'ancien répertoire vers le nouveau.
                Dim fso As FileSystemObject
                MsgBox "a"
                Do While CurrFileName <> ""
                Set fso = New FileSystemObject
     MsgBox "1"
                fso.CopyFolder "Dir1.Path", "chemin", True
     MsgBox "2"
                Loop
                Set fso = Nothing
                'Supprime l'ancien répertoire.
                Dim fso2 As FileSystemObject
                Set fso2 = New FileSystemObject
                'La valeur True passée au deuxième paramètre permet de supprimer le répertoire dans le cas où il aurait l'attribut lecture seule.
                'Ce paramètre est optionnel, et a la valeur False par défaut.
                fso2.DeleteFolder "chemin", True
                Set fso2 = Nothing
    j'ai mis des messages box pr voir ou est le problème
    en fait je ne vois que MsgBox "a"

  10. #10
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Bon !

    Mais où as-tu mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CurrFileName = Dir(PathFileName)
    Que je ne vois plus !!!!

  11. #11
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Par défaut
    à quoi sert CurrFileName et où doit-on le placer ?
    js suis perdu

  12. #12
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    oh !!!!

    Bon ! je reprends ton dode en plaçant Currfilename où il faut :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    PathName = File1.Path + "\" 
    PathFileName = PathName & "*.vsd" 
     
    CurrFileName = Dir(PathFileName) 
    Dim fso As FileSystemObject 
                MsgBox "a" 
                Do While CurrFileName <> "" 
                Set fso = New FileSystemObject 
     MsgBox "1" 
                fso.CopyFolder "Dir1.Path", "chemin", True 
     MsgBox "2" 
                Loop 
                Set fso = Nothing 
                'Supprime l'ancien répertoire. 
                Dim fso2 As FileSystemObject 
                Set fso2 = New FileSystemObject 
                'La valeur True passée au deuxième paramètre permet de supprimer le répertoire dans le cas où il aurait l'attribut lecture seule. 
                'Ce paramètre est optionnel, et a la valeur False par défaut. 
                fso2.DeleteFolder "chemin", True 
                Set fso2 = Nothing
    Tu iras plus loin que Msgbox "a" mais celà ne changera toutefois rien à ce que j'ai dit à propos des attributs

  13. #13
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Par défaut
    à sert ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PathName = File1.Path + "\" 
    PathFileName = PathName & "*.vsd"
    et est-ce que cela s'applique lorsque l'on ne connaît pas le nom des fichiers (je pense à File1) ?
    désolé je suis novice du vb

  14. #14
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    File1.Path est tout simplement le fichier choisi dans la FilelistBox.


    Ouh la la !!

    je crois que cette conversation sera sans fin si tu ne commences pas par apprendre le commencement.

    Tu as des exemples de VB sur ce sujet. Ils sont complets. Lis-les d'abord et nous verrons ensuite !

  15. #15
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Par défaut
    où je peux les trouver ?

  16. #16
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    Si tu possèdes VB (nous en ignorons la version), cherche parmi les exemples du répertoire "Samples" (ou "Exemples" selon que ta version nest anglaise ou française). Chez moi, il y a, par exemple, l'exemple de projet FileCts.

  17. #17
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Par défaut
    j'ai vb6.0
    est-ce que je dois trouver cela dans msdn ? si oui mon patron ne les a pa installés et comme je suis seul aujourd'hui ...

  18. #18
    Membre confirmé Avatar de calimero91
    Inscrit en
    Décembre 2005
    Messages
    183
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Décembre 2005
    Messages : 183
    Par défaut
    commence par la FAQ VB et par les tutoriaux disponoble sur ce site

  19. #19
    Membre confirmé
    Inscrit en
    Août 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 114
    Par défaut
    Bonjour,
    j'ai travaillé sur les copies et suppressions de fichiers, seulement j'ai encore 2 problèmes puisque je n'arrive n'y à copier ni à supprimer. est-ce que quelqu'un pourrait me dire où se trouvent les erreurs s'il-vous-plaît.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     If MsgBox("le répertoire " & MakeLongFileName(strdoc, strLibelléClientForRep) & vbCrLf & " pour la gestion des documents client n'existe pas," & vbCrLf & "voulez-vous le créer?", vbQuestion + vbYesNo, "Paramétrage") = vbYes Then
               'Dim chemin As String
                MkDir (MakeLongFileName(strdoc, Trim$(strLibelléClientForRep)))
                Dir1.Path = (MakeLongFileName(strdoc, Trim$(strLibelléClientForRep)))
                'Je rafraîchis l'arborescence
                Dir1.Refresh
                'Le chemin se positonne
                Dir1.Path = (MakeLongFileName(strdoc, Trim$(strLibelléClientForRep)))
                txtDocument.Text = Dir1.Path
     
    'les problèmes viennent d'ici
                'Copie les fichiers de l'ancien répertoire vers le nouveau.
                Dim PathName As String
                Dim PathFileName As String
                Dim CurrFileName As String
                MsgBox chemin
                MsgBox Dir1.Path
                PathName = File1.Path + "\"
                PathFileName = PathName & "*.vsd"
                Dim fso As FileSystemObject
                MsgBox "a"
                 CurrFileName = Dir(PathFileName)
                Do While CurrFileName <> ""
                    Set fso = New FileSystemObject
                    MsgBox "1"
                    fso.CopyFolder "Dir1.Path", "chemin", True
                    MsgBox "2"
                Loop
                Set fso = Nothing
                'Supprime l'ancien répertoire.
                Dim fso2 As FileSystemObject
                Set fso2 = New FileSystemObject
                MsgBox "3"
                'La valeur True passée au deuxième paramètre permet de supprimer le répertoire dans le cas où il aurait l'attribut lecture seule.
                'Ce paramètre est optionnel, et a la valeur False par défaut.
                fso2.DeleteFolder "chemin", True
                MsgBox "4"
                Set fso2 = Nothing
                MsgBox "5"
    merci beaucoup

  20. #20
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 003
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 003
    Par défaut
    en 1° lecture :
    pourquoi mais tu les noms de variables entre " :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fso.CopyFolder "Dir1.Path", "chemin", True
    as tu besoin de créer un nouvel objet fso à chaque copie .. :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         Set fso = New FileSystemObject

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. composant activeX, FileSystemObject
    Par Ben7800 dans le forum ASP
    Réponses: 1
    Dernier message: 20/07/2006, 10h56
  2. Problème avec l'objet FileSystemObject
    Par Poussy-Puce dans le forum ASP
    Réponses: 4
    Dernier message: 27/10/2005, 17h25
  3. [FileSystemObject] ordre de lecture
    Par flogreg dans le forum ASP
    Réponses: 2
    Dernier message: 20/05/2005, 14h59
  4. Scripting.FileSystemObject
    Par pmboutteau dans le forum ASP
    Réponses: 2
    Dernier message: 24/03/2005, 14h31
  5. PROBLEME AVEC FileSystemObject
    Par alfu dans le forum ASP
    Réponses: 11
    Dernier message: 06/10/2004, 17h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo