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

VBScript Discussion :

Écriture impossible liée à un Regex


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Juin 2012
    Messages
    877
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 877
    Par défaut Écriture impossible liée à un Regex
    Bonjour le Forum,

    Je sollicite votre précieuse aide.

    Je cherche à vérifier les fichiers d'un dossier et écrire dans un .txt leur noms s'ils contiennent _3.9_. Pfiou tout ça.

    J'ai essayé ce code qui malheureusement ne fonctionne pas.

    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
    For Each Fichier In Folder.Files
    		If (FSO.GetExtensionName(Fichier.Path) = "txt") Then
    			Set OutPut = fso.OpenTextFile(Path_ListeXML,1)
    			Set objRegex = new RegExp
    			objRegex.Pattern = "(.w*)*\_3.9_(.w*)*\.txt"
    			objRegex.IgnoreCase = True
    			MsgBox(Fichier.Name) 
    			'Set Matches = objRegex.Execute(Fichier.Name) 'Ok jusqu'ici
    			Set Matches = objRegex.Test(Fichier.Name)
    			'For Each Match in Matches    				                 'OutPut.WriteLine (Fichier.Name)
    			'Next
    			'If (Matches.Count=1) Then
    			If (Matches=1) Then
    				Set OutPut = fso.OpenTextFile(Path_ListeXML,1)
    				OutPut.WriteLine (Fichier.Name)
    			End If
     
    		End If
    Next

    Merci à vous,


    Miistik

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 124
    Par défaut
    Salut

    Ligne 14
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set OutPut = fso.OpenTextFile(Path_ListeXML,1)
    Le dernier paramétre ne devrait il pas égal à 2 (ForWriting, Ouvre un fichier en écriture) plutot que 1 (ForReading, Ouvre un fichier en lecture seule)
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre Expert

    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Juin 2012
    Messages
    877
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 877
    Par défaut
    Salut ProgElecT,


    Merci de ta réponse.
    J'ai corrigé l'erreur.

    Apparemment, le problème vient de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set Matches = objRegex.Test(Fichier.Name)
    On me dit Objet Requis.

    Pourtant ma MessageBox au dessus affiche bien la liste de mes fichiers présents .

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 124
    Par défaut
    Et si tu remplaces la ligne 14 par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    			If objRegex.Test(Fichier.Name) = True Then
    ?
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre Expert

    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Juin 2012
    Messages
    877
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 877
    Par défaut
    Comme cela ?

    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
    For Each Fichier In Folder.Files
    		If (FSO.GetExtensionName(Fichier.Path) = "txt") Then
     
    			Set objRegex = new RegExp
    			objRegex.Pattern = "(.w*)*\_3.9_(.w*)*\.txt"
    			objRegex.IgnoreCase = True
    			MsgBox(Fichier.Name) 
    			'Set Matches = objRegex.Execute(Fichier.Name) 'Ok jusqu'ici
    			'Set Matches = objRegex.Test(Fichier.Name)
    		    'For Each Match in Matches   'I&tère la collection Matches.
    			'	OutPut.WriteLine (Fichier.Name)
    			'Next
    			'If (Matches.Count=1) Then
    			'If (Matches=1) Then
    				'Set OutPut = fso.OpenTextFile(Path_ListeXML,2)
    				If objRegex.Test(Fichier.Name) = True Then
    				  Set OutPut = fso.OpenTextFile(Path_ListeXML,2)
    				  OutPut.WriteLine (Fichier.Name)
    			            End If
     
    		End If
    Next
    Là, je n'ai plus la permission d'ouvrir mon fichier ... hum

  6. #6
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 124
    Par défaut
    Tu ne rentres pas dans la condition If objRegex.Test(Fichier.Name) = True Then Le test renvoi False ou bien c'est l'ouverture du fichier qui est refusé ?
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. C#/ Acces : écriture impossible
    Par youipman dans le forum Accès aux données
    Réponses: 1
    Dernier message: 10/10/2008, 00h35
  2. Écritures indésirables liées à TNMPOP3
    Par Gilles Louïse dans le forum C++Builder
    Réponses: 0
    Dernier message: 09/05/2008, 13h39
  3. [clé USB] écriture impossible
    Par Harry dans le forum Périphériques
    Réponses: 8
    Dernier message: 02/10/2006, 17h17
  4. Réponses: 14
    Dernier message: 12/07/2006, 16h26
  5. Tables liées dans access à mysql : impossible de modifier
    Par alex38 dans le forum Installation
    Réponses: 2
    Dernier message: 20/04/2006, 17h37

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