Bonjour,
Un mini fichier test.vbs recevant 2 arguments:
msgbox "Test" & chr(13) & "Premier argument: " & WScript.Arguments(0) & chr(13) & "second argument: " & WScript.Arguments(1)
et un exemple d'appel en VBA:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| Option Explicit
Sub TestVbs()
Dim sChemin As String
Dim sTxt As String
Dim sMois As String
Dim oWsh As Variant
sChemin = ThisWorkbook.PATH
sTxt = "Texte avec des espaces"
sMois = "5"
Set oWsh = CreateObject("Shell.Application")
oWsh.ShellExecute "test.vbs ", sMois & " " & Chr(34) & sTxt & Chr(34), sChemin, "open", 1
oWsh.ShellExecute "test.vbs ", sMois & " " & sTxt, sChemin, "open", 1
Set oWsh = Nothing
End Sub
'--- https://ss64.com/vb/shellexecute.html |
et de l'importance à gérer les espaces au moment de l'envoi des paramètres (lignes 12 et 13).
Pour cet exemple il est supposé que les fichiers Excel et vbs sont dans le même dossier.
A éviter absolument: donner à une variable le même nom qu'un nom déjà utilisé par Excel (en anglais ou en français), p.ex. PATH ou MOIS.
Cordialement.
Partager