Commande cmd qui ne fonctionne pas [Résolu]

Messages postés
2
Date d'inscription
lundi 23 mai 2016
Dernière intervention
23 mai 2016
- - Dernière réponse :  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.
Afficher la suite 

2 réponses

Messages postés
23618
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 décembre 2018
0
Merci
Bonjour,

Commence par retirer les quotes que tu as mis autour de 'visual studio'
bundy_al01
Messages postés
2
Date d'inscription
lundi 23 mai 2016
Dernière intervention
23 mai 2016
-
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.
jordane45
Messages postés
23618
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 décembre 2018
> bundy_al01
Messages postés
2
Date d'inscription
lundi 23 mai 2016
Dernière intervention
23 mai 2016
-
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 ?
> jordane45
Messages postés
23618
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 décembre 2018
-
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.
jordane45
Messages postés
23618
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
15 décembre 2018
> bundy_al01 -
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....
Messages postés
5612
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2018
0
Merci
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

Bonsoir,

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

Cordialement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.