Un browseforfile et quand on fait Ouvrir, ca ouvre un xml avec notepad?, le tout

Résolu
zargali Messages postés 17 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 23 mars 2006 - 19 déc. 2005 à 19:07
zargali Messages postés 17 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 23 mars 2006 - 2 janv. 2006 à 21:47
Salut a tous!
Ben voila je pense que le titre est assez clair;
Je voudrais savoir comment faire une boite de dialogue "Parcourir", et quand je selectionne le fichier et que je clique sur Ouvrir, qu'il m'ouvre le xml avec notepad..
en fouinant j'ai trouvé (en modifiant un petit peu) ceci:

MsgBox BrowseForFile("C:", "Xml File|*.xml|All Files|*.*")
Function BrowseForFile(pstrPath, pstrFilter)
Set objDialog = CreateObject("UserAccounts.CommonDialog")
objDialog.Filter = pstrFilter
objDialog.InitialDir = pstrPath
objDialog.Flags = &H80000 + &H4 + &H8
intResult = objDialog.ShowOpen
BrowseForFile = objDialog.FileName
end function

Mais apres je sais pas comment demander à ce que le fichier selectionné soit ouvert avec Notepad.. Vous pouvez m'aidez?
Merci beaucoup par avance!
(si vous pouvez aussi me dire comment me virer le Dialog qui vient me dire que j'ai selectionné ce fichier ca m'arrangerai )
Merci!!

6 réponses

zargali Messages postés 17 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 23 mars 2006
22 déc. 2005 à 03:13
Function ok(pstrPath, pstrFilter)
Set objDialog = CreateObject("UserAccounts.CommonDialog")
objDialog.Filter = pstrFilter
objDialog.InitialDir = ""
objDialog.Flags = &H80000 + &H4 + &H8
intResult = objDialog.ShowOpen
ok= objDialog.FileName
end function
Set WshShell = CreateObject ("WScript.Shell")
WshShell.run("notepad.exe " & ok("C:", "Xml File|*.xml|All Files|*.*") )

Voila j'ai reussi a faire ce que je voulais pfiou!
Jsuis sur qu'il y a plus simple mais bon ca marche c'est l'essentiel!
Et en plus j'ai pas de msgbox!!
Merci kalobit et moi meme
3
kalobit Messages postés 169 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 7 avril 2008 2
20 déc. 2005 à 13:43
salut,

Il suffit de lancer notepad avec le nom de fichier en argument :

DIM Shell
file = BrowseForFile("C:", "Xml File|*.xml|All Files|*.*")
Msgbox File
Set Shell = CreateObject ("WScript.Shell")
shell.run("notepad.exe " & file)

en fait la plupart des programmes MS acceptent un fichier en argument.
Tu peux essayer avec word excel et mspaint pour voir mais n'oubli pas l'espace entre l'executable et le nom de fichier
0
zargali Messages postés 17 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 23 mars 2006
21 déc. 2005 à 04:07
Merci beaucoup!
Ca parait beaucoup plus simple comme tu l'écris
Cependant le script ne marche pas
Type incompatible "BrowseForFile"
Je comprend pas j'ai cherché mais rien trouvé sur cette erreur!!
Je comprend pas pourquoi on ne pourrait pas lui assigné le "file" alors que si on met Msgbox BrowseForFiletc...tout court, ca marche!!
Des fois jte jure
Merci de ton aide en tout cas!!
0
kalobit Messages postés 169 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 7 avril 2008 2
22 déc. 2005 à 15:45
Ouaip, bizare parceque chez moi ça marchais.
0

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

Posez votre question
kalobit Messages postés 169 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 7 avril 2008 2
22 déc. 2005 à 15:54
Attention, qu'est ce qui se passe si tu annul l'ouverture du fichier ??

Notepad se lance quand même.

Je pense que t'avais oublié de rajouter ta fonction en dessous de mon code.

Voilà le module complet qui fonctionne

Sub test()
Dim Shell
file = BrowseForFile("C:", "Xml File|*.xml|All Files|*.*")
If file <> "" Then
Set Shell = CreateObject("WScript.Shell")
Shell.Run ("notepad.exe " & file)
End If
End Sub
Function BrowseForFile(pstrPath, pstrFilter)
Set objDialog = CreateObject("UserAccounts.CommonDialog")
objDialog.Filter = pstrFilter
objDialog.InitialDir = pstrPath
objDialog.Flags = &H80000 + &H4 + &H8
intResult = objDialog.ShowOpen
BrowseForFile = objDialog.Filename
End Function

Testé également En vbs (faut juste virer le sub et end sub), marche aussi sans pb

+++
0
zargali Messages postés 17 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 23 mars 2006
2 janv. 2006 à 21:47
Merci bien
0
Rejoignez-nous