Sript qui fonctione sous vista, erreur sous xp

Résolu
narco4 Messages postés 32 Date d'inscription samedi 23 février 2008 Statut Membre Dernière intervention 23 août 2009 - 19 janv. 2009 à 19:45
narco4 Messages postés 32 Date d'inscription samedi 23 février 2008 Statut Membre Dernière intervention 23 août 2009 - 20 janv. 2009 à 16:43
<ol>
<li>Bonsoir chers amis,
j'ai un prb avec un script.vbs qui fonctionne sous vista, erreur sous xp alors que le fichier en question est present!

script.vbs sous vista, impec que l'on clique oui ou non

Sub  RunUrl(sUrl, bMaximized)
Dim oShell
Set oShell = WScript.CreateObject("WSCript.shell")
If bMaximized = True Then
oShell.run sUrl, 3
Else
oShell.run sUrl, 1
Set oShell = Nothing
End if
End Sub
dim WShshell
Set WShshell = WScript.CreateObject("WScript.Shell")
If MsgBox (""&VbCrLf&"La recherche est terminée!"&VbCrLf&" "& _
VbCrLf&"  Merci"&VbCrLf&" "& _
VbCrLf&"-Cliquez sur Oui blabla." & _
VbCrLf&"-Cliquez sur Non blabla . .",vbYesNo+vbSystemModal+Vbquestion,"test") = vbYes Then
Wshshell.Run "C:\Users\lu\Desktop\test1\test\Arguments\test[1].txt",3,true
Set WShshell = Nothing
else
RunUrl ("C:\Users\lu\Desktop\test1\test\Page\test[1].html"), True
End If
</li>
</ol>
méme script sous windows xp

Sub  RunUrl(sUrl, bMaximized)
Dim oShell
Set oShell = WScript.CreateObject("WSCript.shell")
If bMaximized = True Then
oShell.run sUrl, 3
Else
oShell.run sUrl, 1
Set oShell = Nothing
End if
End Sub
dim WShshell
Set WShshell = WScript.CreateObject("WScript.Shell")
If MsgBox (""&VbCrLf&"La recherche est terminée!"&VbCrLf&" "& _
VbCrLf&"  Merci"&VbCrLf&" "& _
VbCrLf&"-Cliquez sur Oui blabla." & _
VbCrLf&"-Cliquez sur Non blabla . .",vbYesNo+vbSystemModal+Vbquestion,"test") = vbYes Then
Wshshell.Run "C:\Documents and Settings\lu\Bureau\test1\test\Arguments\test[1].txt",3,true
Set WShshell = Nothing
else
RunUrl ("C:\Documents and Settings\lu\Bureau\test1\test\Page\test[1].html"), True
End If

et là, message d'erreur:

Script : C:\documents\...\message.vbs
Ligne : 17
Caract 1
Le fichier spécifié est introuvable
Code 80070002
Source (null)

alors que le fichier en question est present!

une idée?
merci bcp!

6 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 41
19 janv. 2009 à 22:23
Les chemins avec des espaces doivent être encadrés de " autant sous Vista que sous XP d'ailleurs.
(pour mettre un " dans une chaine en VB, il faut le doubler)

Wshshell.Run """C:\Documents and Settings\lu\Bureau\test1\test\Arguments\test[1].txt""",3,true

RunUrl ("""C:\Documents and Settings\lu\Bureau\test1\test\Page\test[1].html"""), True

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
3
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
19 janv. 2009 à 21:12
salut,

le shell.run ne doit pas trop aimer les espaces... ("documents and settings")
indiquer le nom court serait une meilleure idée
une encore meilleure serait que les fichiers html et txt soit dans le même répertoire que le VBS et d'indiquer le chemin relatif

ps : le RUNURL me dit quelquechose...
ah ouai : CODYX

'    LANCER UNE PAGE WEB
(URL) AVEC LE NAVIGATEUR PAR DÉFAUT
'    http://www.codyx.org/snippet_lancer-page-web-url-avec-navigateur-defaut_723.aspx#2128




alors pourquoi ne pas l'utiliser dans les 2 cas? seul le dernier TRUE diffère apparemment
de plus comme tu crées le WSHShell avant la box, tu ne détruits l'objet que dans un cas...

++

<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp 
0
narco4 Messages postés 32 Date d'inscription samedi 23 février 2008 Statut Membre Dernière intervention 23 août 2009
19 janv. 2009 à 21:25
Bonsoir et merci,

je suis ok pour WSHShell de le detruire si oui ou non

en revanche je ne peut pas placer le vbs le html et le txt dans le meme dossier
comment passer outre?
merci
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
19 janv. 2009 à 23:16
re

utilise le nom court ;)

allez hop cadeau

http://www.codyx.org/snippet_recuperer-nom-court-fichier_70.aspx#2277

çà te donne :


If MsgBox (BLABLA", vbYesNo+vbSystemModal+Vbquestion,"test") = vbYes Then
RunUrl GetShortName("C:\Documents and Settings\lu\Bureau\test1\test\Arguments\test[1].txt"), true
else
RunUrl GetShortName("C:\Documents and Settings\lu\Bureau\test1\test\Page\test[1].html), true
End If






++

<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp 
0

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

Posez votre question
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
19 janv. 2009 à 23:19
oups désolé casy j'avais laissé la fenêtre ouverte et j'étais parti
bref oui les doubles quote devraient suffire

au pire il y a aussi maintenant le snippet, çà peut toujours servir

++
0
narco4 Messages postés 32 Date d'inscription samedi 23 février 2008 Statut Membre Dernière intervention 23 août 2009
20 janv. 2009 à 16:43
Meri bcp ça marche impec
0