je me heurte la tete violament depuis deux jour sur une ligne de code
qui me renevoie deseperement le message suivant dans un fichier nommé du
mois en cours (fevrier) :
Erreur en entr‚e: Pas d'extension de fichier dans
"c:ScriptsExtractionReleve-Inventaire-VbsParc".
je me doute que ca vient certainement d'un probleme de syntaxe
Code:
Set WshShell = WScript.CreateObject("WScript.Shell")
le chr(34) pour les guillemets et le chr(32) pour les espaces
Merci pour votre aide
Cordialement
Tes Chr(32) étant toujours avant et après une chaine, pourquoi ne pas mettre les espaces dans celle-ci ? Set ExtractEnteteCsv = WshShell.exec ("cmd /c Cscript /nologo " &SousRepDeBaseRIVbs & _ chr(34) & MonFichierEnteteReconstitue & chr(34) & " > " & _ SousRepDeBaseCsv & chr(34) & MonExtractionDuMois & _ chr(32) & year(now) & " - " & NomDuParc & _ " - " & MonNomDeClass & chr(34) & ".csv")
En plus pour les chemins contenants des espaces, il suffit d'encadrer toute la chaine avec des double guillemets au lieu de C:"Program Files""Mon document".txt (ce qui semble être le cas dans ton code) écrire "C:Program FilesMon document.txt" C'est plus lisible et moins source d'erreur Tu peux aussi faire appel a une routine mettant les guillemets autour de la chaine: Function Quote(str2Quote) Quote = """" & str2Quote & """" End Function
le chr(34) pour les guillemets
et le chr(32) pour les espaces
Merci pour votre aide
Cordialement
Tes Chr(32) étant toujours avant et après une chaine, pourquoi ne pas mettre
les espaces dans celle-ci ?
Set ExtractEnteteCsv = WshShell.exec ("cmd /c Cscript /nologo "
&SousRepDeBaseRIVbs & _
chr(34) & MonFichierEnteteReconstitue & chr(34) & " > " & _
SousRepDeBaseCsv & chr(34) & MonExtractionDuMois & _
chr(32) & year(now) & " - " & NomDuParc & _
" - " & MonNomDeClass & chr(34) & ".csv")
En plus pour les chemins contenants des espaces, il suffit d'encadrer toute
la chaine avec des double guillemets
au lieu de
C:"Program Files""Mon document".txt (ce qui semble être le cas dans ton
code)
écrire
"C:Program FilesMon document.txt"
C'est plus lisible et moins source d'erreur
Tu peux aussi faire appel a une routine mettant les guillemets autour de la
chaine:
Function Quote(str2Quote)
Quote = """" & str2Quote & """"
End Function
le chr(34) pour les guillemets et le chr(32) pour les espaces
Merci pour votre aide
Cordialement
Tes Chr(32) étant toujours avant et après une chaine, pourquoi ne pas mettre les espaces dans celle-ci ? Set ExtractEnteteCsv = WshShell.exec ("cmd /c Cscript /nologo " &SousRepDeBaseRIVbs & _ chr(34) & MonFichierEnteteReconstitue & chr(34) & " > " & _ SousRepDeBaseCsv & chr(34) & MonExtractionDuMois & _ chr(32) & year(now) & " - " & NomDuParc & _ " - " & MonNomDeClass & chr(34) & ".csv")
En plus pour les chemins contenants des espaces, il suffit d'encadrer toute la chaine avec des double guillemets au lieu de C:"Program Files""Mon document".txt (ce qui semble être le cas dans ton code) écrire "C:Program FilesMon document.txt" C'est plus lisible et moins source d'erreur Tu peux aussi faire appel a une routine mettant les guillemets autour de la chaine: Function Quote(str2Quote) Quote = """" & str2Quote & """" End Function
le chr(34) pour les guillemets et le chr(32) pour les espaces
Merci pour votre aide
Cordialement
J'oubliait aussi pour le cmd /c ou cmd /k que je voit assez souvent dans les scripts (exec ou run le plus souvent), il serait plus judicieux, soit de mettre le chemin complet de cmd.exe ainsi que son extension (.exe) ou alors de remplacer cmd par %COMSPEC% qui fera exactement la mêm chose, à savoir donner le chemin complet de cmd.exe...
merlin01fr wrote:
ok j'ai trouve tout seul comme un grand
la bonne syntaxe pour ceux que ca interesse est :
Set WshShell = WScript.CreateObject("WScript.Shell")
le chr(34) pour les guillemets
et le chr(32) pour les espaces
Merci pour votre aide
Cordialement
J'oubliait aussi pour le cmd /c ou cmd /k que je voit assez souvent dans les
scripts (exec ou run le plus souvent), il serait plus judicieux,
soit de mettre le chemin complet de cmd.exe ainsi que son extension (.exe)
ou alors de remplacer cmd par %COMSPEC% qui fera exactement la mêm chose, à
savoir donner le chemin complet de cmd.exe...
le chr(34) pour les guillemets et le chr(32) pour les espaces
Merci pour votre aide
Cordialement
J'oubliait aussi pour le cmd /c ou cmd /k que je voit assez souvent dans les scripts (exec ou run le plus souvent), il serait plus judicieux, soit de mettre le chemin complet de cmd.exe ainsi que son extension (.exe) ou alors de remplacer cmd par %COMSPEC% qui fera exactement la mêm chose, à savoir donner le chemin complet de cmd.exe...