Choisir dossier, puis creer le chemin dans un txt

Résolu
yago0nfs0tm091
Messages postés
10
Date d'inscription
samedi 8 août 2009
Statut
Membre
Dernière intervention
7 décembre 2009
- 2 sept. 2009 à 14:13
yago0nfs0tm091
Messages postés
10
Date d'inscription
samedi 8 août 2009
Statut
Membre
Dernière intervention
7 décembre 2009
- 5 sept. 2009 à 19:20
Bonjour

Alors voila, sachant que je suis plus que débutant en vbscript, j'aimerais savoir s'il était possible de creer ce programme en vbs :

1-Une fenêtre s'ouvre et demande de choisir un dossier (avec l'explorateur windows)
2-Le chemin du dossier (genre C:\dossier) est creer dans un fichier txt



http://yago-nfs-ym-91-productions.e-monsite.com/

8 réponses

cs_JMO
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
2 sept. 2009 à 20:09
idem, je n'ai pas fait mieux avec mes url

Reste à définir le name du .txt

Set shell = WScript.CreateObject("Shell.Application") 'Objet
flag=returnonlyfsdirs
titre="Test de sélection de dossier" 'Titre
Set Item = shell.BrowseForFolder(0,titre,flag, dirinit)
If isvalue(Item) Then
   If InStr(1,Item.Title,":")=0 Then
      On Error Resume Next
      Call WriteFileTxt(GetPath() & "MyFile.txt", _ 
           Item.ParentFolder.ParseName(Item.Title).Path)
   End If
End If
Set shell = Nothing 'Libère l'objet


'------------------------------------------------------------
' Fonction de création et écriture du fichier .txt
Sub WriteFileTxt(ArgFile, ArgTxt)
   Dim objFso, objTextFile
   Set objFso = CreateObject("Scripting.FileSystemObject")
   'ici si le fichier existe, il est écrasé [True]
   Set objTextFile = objFso.CreateTextFile(ArgFile, True)
   objTextFile.WriteLine ArgTxt
   objTextFile.Close
   Set objTextFile = Nothing
   Set objFso = Nothing
End Sub

'------------------------------------------------------------
' Fonction de récupération du répertoire courant
Function GetPath()
   Dim path
   path = WScript.ScriptFullName
   GetPath = Left(path, InStrRev(path, ""))
End Function

Function IsValue(obj) 'Function
Dim tmp
On Error Resume Next 'En cas d'érreur toujours continuer
tmp = " " & obj
If Err <> 0 Then IsValue False Else IsValue True
On Error GoTo 0
End Function

 


jean-marc






jean-marc
3
cs_JMO
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
2 sept. 2009 à 18:25
 Bonjour,

Mots clés pour proposer la sélection d'un répertoire:
- Shell.Application et BrowseForFolder
- WScript.Shell et BrowseForFolder
et pour un fichier:
- CommonDialog



Exemple de [ http://astase.com/forums/viewtopic.php?id=1039]

Set shell = WScript.CreateObject("Shell.Application") 'Objet
flag=returnonlyfsdirs
titre="Test de sélection de dossier" 'Titre
Set Item = shell.BrowseForFolder(0,titre,flag, dirinit)
If isvalue(Item) Then
Result=Item.Title 'Variable contenant le résultat
If InStr(1,Result,":")=0 Then
On Error Resume Next 'ligne rajouter si non selection de folder
Result=Item.ParentFolder.ParseName(Item.Title).Path
End If
' Affichage du résultat
MsgBox "On a choisi : " & Result, vbInformation, titre
else
MsgBox "On a appuyé sur Annuler", vbInformation, titre
End If
Set shell = Nothing 'Libère l'objet
Wscript.Quit(0) 'Quitte avec succès
Function IsValue(obj) 'Function
Dim tmp
On Error Resume Next 'En cas d'érreur toujours continuer
tmp = " " & obj
If Err <> 0 Then IsValue False Else IsValue True
On Error GoTo 0
End Function


dirinit est optionnel

2-Le chemin du dossier (genre C:\dossier) est creer dans un fichier txt

Quel fichier .txt ? En outfile ou en append) ?

Source [ http://www.vbfrance.com/codes/CREER-FICHIER-TEXTE-ECRIRE-DEDANS_4823.aspx] assez commentée.


jean-marc
0
yago0nfs0tm091
Messages postés
10
Date d'inscription
samedi 8 août 2009
Statut
Membre
Dernière intervention
7 décembre 2009

2 sept. 2009 à 18:48
Merci , seulement il me dit qu'il y a une erreur a la ligne 15, alors j'ai supprimer la ligne 15 car elle est apparemment pas obligatoire, mais apres j'ai une erreur a cette ligne :
Result=Item.ParentFolder.ParseName(Item.Title).Path


http://yago-nfs-ym-91-productions.e-monsite.com/
0
yago0nfs0tm091
Messages postés
10
Date d'inscription
samedi 8 août 2009
Statut
Membre
Dernière intervention
7 décembre 2009

2 sept. 2009 à 18:52
ah oui et aussi pourquoi creer un txt, et bien il peut etre crée n'importe ou (la ou est le programme si posible)
car ensuite je récupere le chemin du dossier dans mon programme (en batch)

http://yago-nfs-ym-91-productions.e-monsite.com/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yago0nfs0tm091
Messages postés
10
Date d'inscription
samedi 8 août 2009
Statut
Membre
Dernière intervention
7 décembre 2009

2 sept. 2009 à 19:00
ah non désolé mais il n'y a aucune érreur

PS : y a t'il un moyen de rééditer les message car 3 a la suite...
ou alors je suis vraiment aveugle et n'ai pas vu le bouton edit
http://yago-nfs-ym-91-productions.e-monsite.com/
0
cs_JMO
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
2 sept. 2009 à 19:02
 Bonsoir,

Effectivement, il faut supprimer les sauts de ligne.

'début code
Set shell = WScript.CreateObject("Shell.Application") 'Objet
flag=returnonlyfsdirs
titre="Test de sélection de dossier" 'Titre
Set Item = shell.BrowseForFolder(0,titre,flag, dirinit)
If isvalue(Item) Then
Result=Item.Title 'Variable contenant le résultat
If InStr(1,Result,":")=0 Then
On Error Resume Next'ligne rajouter si non selection de folder
Result=Item.ParentFolder.ParseName(Item.Title).Path
End If
' Affichage du résultat
MsgBox "On a choisi : " & Result, vbInformation, titre
else
MsgBox "On a appuyé sur Annuler", vbInformation, titre
End If
Set shell = Nothing 'Libère l'objet

Wscript.Quit(0) 'Quitte avec succès

Function IsValue(obj) 'Function
Dim tmp
On Error Resume Next 'En cas d'érreur toujours continuer
tmp = " " & obj
If Err <> 0 Then IsValue False Else IsValue True
On Error GoTo 0
End Function
'fin code


jean-marc
0
yago0nfs0tm091
Messages postés
10
Date d'inscription
samedi 8 août 2009
Statut
Membre
Dernière intervention
7 décembre 2009

3 sept. 2009 à 14:02
ah la ca marche super merci beaucoup a toi
0
yago0nfs0tm091
Messages postés
10
Date d'inscription
samedi 8 août 2009
Statut
Membre
Dernière intervention
7 décembre 2009

5 sept. 2009 à 19:20
Voila j'ai terminer mon programme que voici ici :
http://yago-nfs-tm-91-productions.e-monsite.com/rubrique,usbdisksaver,432046.html
Bien sur il y a ecrit dans le .vbs "'by JMO" + voir les ps sur mon site



http://yago-nfs-ym-91-productions.e-monsite.com/
0