Précédent   Forum du club des développeurs et IT Pro > Autres langages > Général Visual Basic 6 et VBScript > VBScript
VBScript Le forum d'entraide sur VBScript. Avant de poster -> La FAQ VBScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 07/12/2012, 21h16   #1
bbell
Invité de passage
 
Inscription : novembre 2008
Messages : 26
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 26
Points : 4
Points : 4
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.
bbell est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2012, 07h57   #2
Philippe JOCHMANS
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 18 452
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 45
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 18 452
Points : 40 636
Points : 40 636
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
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
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Vous pouvez consulter mes articles sur Access et PowerPoint

Si vous avez des c'est peut-être moi, car vous postez un fichier en pièce jointe sans explications.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2012, 19h34   #3
bbell
Invité de passage
 
Inscription : novembre 2008
Messages : 26
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 26
Points : 4
Points : 4
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
bbell est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2012, 14h30   #4
l_autodidacte
Modérateur
 
Avatar de l_autodidacte
 
Homme Moncef
Directeur de lycée
Inscription : juillet 2009
Messages : 1 212
Détails du profil
Informations personnelles :
Nom : Homme Moncef
Âge : 57
Localisation : Tunisie

Informations professionnelles :
Activité : Directeur de lycée
Secteur : Enseignement

Informations forums :
Inscription : juillet 2009
Messages : 1 212
Points : 2 224
Points : 2 224
Envoyer un message via Skype™ à l_autodidacte
Citation:
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 :
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é."
__________________
A cœur vaillant rien d'impossible
l_autodidacte est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2012, 15h23   #5
bbell
Invité de passage
 
Inscription : novembre 2008
Messages : 26
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 26
Points : 4
Points : 4
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.
bbell est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2012, 16h02   #6
bbell
Invité de passage
 
Inscription : novembre 2008
Messages : 26
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 26
Points : 4
Points : 4
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.
bbell est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2012, 16h09   #7
l_autodidacte
Modérateur
 
Avatar de l_autodidacte
 
Homme Moncef
Directeur de lycée
Inscription : juillet 2009
Messages : 1 212
Détails du profil
Informations personnelles :
Nom : Homme Moncef
Âge : 57
Localisation : Tunisie

Informations professionnelles :
Activité : Directeur de lycée
Secteur : Enseignement

Informations forums :
Inscription : juillet 2009
Messages : 1 212
Points : 2 224
Points : 2 224
Envoyer un message via Skype™ à l_autodidacte
Oui en le modifiant ainsi :
Code :
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é.
__________________
A cœur vaillant rien d'impossible
l_autodidacte est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2012, 16h25   #8
bbell
Invité de passage
 
Inscription : novembre 2008
Messages : 26
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 26
Points : 4
Points : 4
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
bbell est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/12/2012, 16h33   #9
bbell
Invité de passage
 
Inscription : novembre 2008
Messages : 26
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 26
Points : 4
Points : 4
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.
bbell est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 08h18.


 
 
 
 
Partenaires

Hébergement Web