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 :

Ouverture de fichier avec début de nom


Sujet :

VBScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Points : 12
    Points
    12
    Par défaut Ouverture de fichier avec début de nom
    Bonjour, je veux ouvrir un fichier txt. Je ne connais que le début du nom du fichier. Exemple : Test****.txt. Merci pour vos réponses.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    As-tu consulté la FAQ VBScript dont le lien est en haut de cette page ?

    Par exemple en Comment lister les fichiers d'un dossier ?, tu peux interroger le début du nom (fonction left) pour sélectionner le fichier que tu souhaites.

    Voilà un approche possible.

    Philippe

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Points : 12
    Points
    12
    Par défaut Ouverture de fichier avec début de nom
    Bonjour Philippe, merci pour le lien mais j'ai déjà regarder et ça ne m'inspire pas trop.
    Pour info, je commence un nouveau job et j'ai pas mal de manip à faire sur des fichiers et je cherche à automatiser tout ça.
    J'ai besoin d'ouvrir des fichiers txt qui changent tous les jours de nom. exemple : test20121208 (testAnnéeMoisJour)et je débute en vbs.
    Merci pour ton retour.
    Cordialement, Bruno

  4. #4
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 805
    Points
    5 805
    Par défaut
    je veux ouvrir un fichier txt. Je ne connais que le début du nom du fichier
    Est-ce pour la modification(par le script) ou pour la lecture avec le programme associé ?

    Si c'est ce dernier cas, essaie ce
    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
    Option Explicit
     
    Dim FSO, oFolder, Fich, WS, AssocApp, objFile, strCommand, Cnt
    Const Key = "HKEY_CLASSES_ROOT\txtfile\shell\open\command\"
    	Set FSO = CreateObject("Scripting.FileSystemObject")
    	Set WS = CreateObject("WScript.Shell")
    	Set oFolder = FSO.GetFolder("C:\Temp")
    	AssocApp = WS.RegRead(Key) ' Lecture du programme associé à partir du registre
    	AssocApp = Left(AssocApp, Len(AssocApp)-2) ' Pour enlever le %1
    	strCommand = AssocApp & " "
    	Cnt = 0
    	For Each Fich In oFolder.Files
    	  If Ucase(Right(Fich.Name, 4)) = ".TXT" Then   ' On s'assure de l'extension du fichier
    	     If Ucase(Left(Fich.Name, 4)) = "TEST" Then 'On vérifie le début du nom
    		    Cnt = Cnt + 1
    		    WS.Run strCommand & Fich.Path, 1, True  ' On ouvre le fichier avec le programme associé
                                                                ' Tant que l'un des fichiers est ouvert, les autres sont en attente
    	     End If
    	  End If
    	Next
    	If Cnt = 0 Then MsgBox "Aucun fichier n'a été trouvé."
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Points : 12
    Points
    12
    Par défaut Ouverture de fichier avec début de nom
    Merci monsieur l_autodidacte, ça fonctionne super. J'ouvre le fichier pour modification(par le script), par exemple les valeurs OK par KO sur plusieurs lignes du fichier. Ton code peut-il faire cette modification ? Merci encore.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Points : 12
    Points
    12
    Par défaut Ouverture de fichier avec début de nom
    Désolé, merci pour l'info. Pouvez-vous me modifier votre code pour une modification par le script des données dans le fichier. Valeur A par B. Merci d'avance.

  7. #7
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 415
    Points : 5 805
    Points
    5 805
    Par défaut
    Oui en le modifiant ainsi :
    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
    Option Explicit
     
    Dim FSO, oFolder, Fich, WS, AssocApp, objFile, strCommand, Cnt
    Const Key = "HKEY_CLASSES_ROOT\txtfile\shell\open\command\", ForReading = 1, ForWriting = 2
    	Set FSO = CreateObject("Scripting.FileSystemObject")
    	Set WS = CreateObject("WScript.Shell")
    	Set oFolder = FSO.GetFolder("C:\Temp")
    	AssocApp = WS.RegRead(Key) ' Lecture du programme associé à partir du registre
    	AssocApp = Left(AssocApp, Len(AssocApp)-2) ' Pour enlever le %1
    	strCommand = AssocApp & " "
    	Cnt = 0
    	For Each Fich In oFolder.Files
    	  If Ucase(Right(Fich.Name, 4)) = ".TXT" Then   ' On s'assure de l'extension du fichier
    	     If Ucase(Left(Fich.Name, 4)) = "TEST" Then 'On vérifie le début du nom
    		 Cnt = Cnt + 1
    		 ModifFichier Fich.Path
    		 WS.Run strCommand & Fich.Path, 1, True  ' On ouvre le fichier avec le programme associé
    	    End If
    	  End If
    	Next
    	If Cnt = 0 Then MsgBox "Aucun fichier n'a été trouvé."
    	Sub ModifFichier(strFile)
    	  Dim ts,Ret
    	      Set ts = fso.OpenTextFile(strFile, ForReading, False)
    		  Ret = Replace(ts.ReadAll,"OK","KO") ' C'est ici que se fait la modification
    		  ts.Close
    		  Set ts = fso.OpenTextFile(strFile, ForWriting, False)
    		  ts.Write Ret
                      ts.Close
    	End Sub
    Les modifications sont inscrites dans le fichier avant son ouverture par le programme associé.
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Points : 12
    Points
    12
    Par défaut Ouverture de fichier avec début de nom
    ça fonctionne à merveille. Encore un Grand Merci. De bonnes fêtes de fin d'année. Cordialement

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 26
    Points : 12
    Points
    12
    Par défaut Ouverture de fichier csv avec début de nom
    Bonjour à tous, j'ai utilisé le script de monsieur l_autodidacte qui fonctionne super. J'ai essayé de le modifier pour l'adapter à des fichiers csv mais pas réussi. Je dois ouvrir le fichier pour modification(par le script), par exemple modifier les valeurs OK par KO sur plusieurs lignes du fichier. Le problème est que le nom comporte des "_". Exemple : A_B_C_aaaa_mm_jj.csv. La date change tous les jours. Merci pour votre aide. Cordialement.

Discussions similaires

  1. Ouverture de fichier avec nom dans une autre langue
    Par bannik dans le forum Langage
    Réponses: 3
    Dernier message: 18/05/2015, 15h00
  2. Ouverture de fichiers avec un nom en partie inconnu
    Par stealth dans le forum Débuter
    Réponses: 14
    Dernier message: 03/01/2012, 18h55
  3. Ouverture de fichier avec un string
    Par slate dans le forum C++
    Réponses: 4
    Dernier message: 17/02/2006, 16h16
  4. ouverture de fichier avec evc4.0
    Par gids01 dans le forum MFC
    Réponses: 4
    Dernier message: 22/11/2005, 13h09
  5. Aide sur ouverture de fichier avec access
    Par FusionR dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 17/06/2004, 12h02

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