Commande cmd qui ne fonctionne pas [Résolu]

Signaler
Messages postés
2
Date d'inscription
lundi 23 mai 2016
Statut
Membre
Dernière intervention
23 mai 2016
-
 bundy_al01 -
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

Messages postés
32974
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 juin 2021
351
Bonjour,

Commence par retirer les quotes que tu as mis autour de 'visual studio'
Messages postés
2
Date d'inscription
lundi 23 mai 2016
Statut
Membre
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.
Messages postés
32974
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 juin 2021
351 >
Messages postés
2
Date d'inscription
lundi 23 mai 2016
Statut
Membre
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 ?
>
Messages postés
32974
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 juin 2021

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.
Messages postés
32974
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 juin 2021
351 > 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
7418
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
15 juin 2021
124
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.