Sript qui fonctione sous vista, erreur sous xp [Résolu]

Signaler
Messages postés
32
Date d'inscription
samedi 23 février 2008
Statut
Membre
Dernière intervention
23 août 2009
-
Messages postés
32
Date d'inscription
samedi 23 février 2008
Statut
Membre
Dernière intervention
23 août 2009
-
<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

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
37
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
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
41
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 
Messages postés
32
Date d'inscription
samedi 23 février 2008
Statut
Membre
Dernière intervention
23 août 2009

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
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
41
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 
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
41
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

++
Messages postés
32
Date d'inscription
samedi 23 février 2008
Statut
Membre
Dernière intervention
23 août 2009

Meri bcp ça marche impec