Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 2011
-
21 nov. 2006 à 10:25
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 2011
-
21 nov. 2006 à 10:53
Bonjour,
Un petit soucis tout bête je suis sûr, mais je n'ai pas les yeux en face des trous ce matin.
J'ai écrit un VBScript qui fonctionne très bien. Il nécessite un argument.
Lorsque je le lance via une invite de commande C:\Test.vbs Toto, ça fonctionne très bien.
Mon soucis est que je veux le faire lancer à partir d'un bouton dans Excel, mon argument étant le contenu d'une cellule (mettons "A1").
Comment puis-je faire lancer le VBScript avec l'argument ? J'avais pensé à l'instruction Shell, mais ça ne fonctionne que pour les exécutables il me semble.
Un lien Hypertexte sur le script fonctionne très bien, mais je veux passer l'argument avec (pour remplacer l'inputbox de mon VBScript). Ce qu'il ne faut pas faire pour que ces pauvres utilisateurs ne saisissent pas 2-3 fois les mêmes infos. Pauvre petits
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 20117 21 nov. 2006 à 10:53
Merci Julien ^^
Mais je viens de trouver (c'est toujours pareil, tu cherches une heure, tu ne trouves rien, tu vas poster ton message et l'illumination arrive dans les 5 minutes !).
En fait, il fallait juste que je passe par l'invite de commande :
Dim RetVal
RetVal = Shell("C:\WINDOWS\system32\cmd.exe /c c:\Test.vbs Toto", 1)
C'était sans doute trop simple.
Je ne doute pas que ce que tu me proposes fonctionne aussi, mais je commence à être sérieusement à la bourre donc, je vais continuer avec ce qui marche déjà .
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 21 nov. 2006 à 10:43
Salut, [auteurdetail.aspx?ID=528680 Molenn]
Essaie l'API ShelleExecute.
J'ai testé un truc simple et ca a semblé fonctionné => mon script p.vbs ne fait qu'afficher l'argument passer
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Dim lapi As Long
lapi = ShellExecute(0, "open", "C:\p.vbs", "poilu", vbNull, 5)