Commande cmd qui ne fonctionne pas

Résolu
bundy_al01 Messages postés 2 Date d'inscription lundi 23 mai 2016 Statut Membre Dernière intervention 23 mai 2016 - 23 mai 2016 à 21:04
 bundy_al01 - 24 mai 2016 à 21:24
Bonjour,

je souhaite lancer un programme que j'ai codé en c# via un cmd.
La commande cmd est lancée via une macro vba.

j'ai le problème suivant avec les lignes de code suivantes :

Set wsh = VBA.CreateObject("WScript.Shell")

wsh.Run "C:\Windows\System32\cmd.exe /K C:\Users\Public\Documents\'Visual Studio 2010'\Projects\DrafterZMQBLOOM\DrafterZMQ\Drafter\bin\Debug\RTGenBloom.exe AUTOMATIC", 1, False


=> dans le cmd, il y a le message d'erreur suivant :


'C:\Users\Public\Documents\'Visual' is not recognised as an intern operable program or batch file


J'ai l'impression que le cmd n'aime pas les espaces.


Quelqu'un aurait il une solution svp ?


Cordialement.

2 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
23 mai 2016 à 21:10
Bonjour,

Commence par retirer les quotes que tu as mis autour de 'visual studio'
0
bundy_al01 Messages postés 2 Date d'inscription lundi 23 mai 2016 Statut Membre Dernière intervention 23 mai 2016
23 mai 2016 à 21:19
Bonsoir,

je viens de les retirer et j'ai toujours un message d'erreur :

'C:\Users\Public\Documents\Visual' is not recognised as an intern operable program or batch file

Cordialement.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344 > bundy_al01 Messages postés 2 Date d'inscription lundi 23 mai 2016 Statut Membre Dernière intervention 23 mai 2016
23 mai 2016 à 22:54
Tu peux montrer ton code corrigé ?
(En utilisant les balises de code ! )

Autre question.. as tu testé cette ligne de commande directement sous DOS pour voir si elle fonctionne ?
0
bundy_al01 > jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024
24 mai 2016 à 12:35
Bonjour,

le voici :

Set wsh = VBA.CreateObject("WScript.Shell")

 wsh.Run "C:\Windows\System32\cmd.exe /K C:\Users\omeskine\Documents\Visual Studio 2010\Projects\DrafterZMQBLOOM\DrafterZMQ\Drafter\bin\Debug\RTGenBloom.exe AUTOMATIC", 1, False


ce qui est en fait équivalent à :

Shell "C:\Windows\System32\cmd.exe /K C:\Users\omeskine\Documents\Visual Studio 2010\Projects\DrafterZMQBLOOM\DrafterZMQ\Drafter\bin\Debug\RTGenBloom.exe AUTOMATIC"


Les 2 versions me donnent la même erreur.

J'ai lancé la commande directement dans un cmd et c'est toujours la même chose.

Cordialement.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344 > bundy_al01
24 mai 2016 à 15:52
J'ai lancé la commande directement dans un cmd et c'est toujours la même chose.

Si c'est la même chose en la lançant directement dans un CMD .. c'est que le souci ne vient pas du code VBA que tu as écris ..... mais bien de celle ligne de code elle même....
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
24 mai 2016 à 14:27
Bonjour,

j'ai été confronté a ce problème il y a quelque temps. Voici le lien pour y faire face:

http://www.office-loesung.de/ftopic619862_0_0_asc.php

Option Explicit
'http://www.office-loesung.de/ftopic619862_0_0_asc.php
Private Declare Function Wow64DisableWow64FsRedirection Lib "kernel32.dll" ( _
    ByRef oldvalue As Long) As Boolean
Private Declare Function Wow64RevertWow64FsRedirection Lib "kernel32.dll" ( _
    ByVal oldvalue As Long) As Boolean
Public Sub prcStartMSConfig64()
 Const MS_CONFIG As String = "C:\Windows\system32\msconfig.exe"
 Const WND_SHOWNORMAL As Variant = 1
 Dim lngWow64RedirectReturn As Long
 Dim objShell As Object
  
 Set objShell = CreateObject("Shell.Application")
 lngWow64RedirectReturn = 0
 Wow64DisableWow64FsRedirection lngWow64RedirectReturn

 objShell.ShellExecute MS_CONFIG, vbNullString, vbNullString, "open", WND_SHOWNORMAL
  
 Wow64RevertWow64FsRedirection lngWow64RedirectReturn
 Set objShell = Nothing
End Sub
'ouvre le programme de capture
Private Sub CommandButton1_Click()
 Shell "C:\Windows\SysNative\SnippingTool.exe", vbNormalFocus 'adapter le chemin de l'exe
End Sub

0
Bonsoir,

votre solution marche parfaitement.
Merci à tous pour votre aide.

Cordialement.
0
Rejoignez-nous