Bonjour,
Afin de décoder des images stockées dans des fichiers textes (en base64), j'utilise un décodeur externe que je lance par VBA.
Voici le principe :
j'ouvre le CMD -> je me place dans le répertoire contenant l'EXE.
j'écris dans le CMD la commande du programme avec les paramètres.
je ferme le CMD
Voici la macro fonctionnelle :
Alors ma question est comment simplifier le tout (car je ne trouve pas ça propre et oblige d'activer la référence externe "Windows Script Host" ), en fin de macro il y a quelques tests infructueux parmi beaucoup d'autres.
Je pence à des problèmes d'espaces mais ....
Si quelqu'un à une idée je suis preneur.
Cordialement.
Afin de décoder des images stockées dans des fichiers textes (en base64), j'utilise un décodeur externe que je lance par VBA.
Voici le principe :
j'ouvre le CMD -> je me place dans le répertoire contenant l'EXE.
j'écris dans le CMD la commande du programme avec les paramètres.
je ferme le CMD
Voici la macro fonctionnelle :
PHP:
Sub Exe(NomSource As String, NomCible As String)
Shell "CMD /K " & """" & "cd " & ActiveWorkbook.Path & """" ' OK
Application.Wait Now + TimeValue("00:00:01") '1 secondes
Dim wsh As WshShell
Set wsh = New WshShell
wsh.AppActivate "cmd.exe"
wsh.SendKeys "b64dec.exe " & NomSource & " " & NomCible & vbCrLf
Shell "taskkill /f /im CMD.exe", vbHide
'Shell "CMD /K " & """" & ActiveWorkbook.Path & "\b64dec.exe" & """" ' OK lance le programme
'Shell "CMD /K " & """" & ActiveWorkbook.Path & "\b64dec.exe " & NomSource & " " & NomCible & """" ' KO
'Shell "CMD /K " & """" & ActiveWorkbook.Path & "\b64dec.exe " & """" & NomSource & " " & NomCible ' KO
End Sub
Alors ma question est comment simplifier le tout (car je ne trouve pas ça propre et oblige d'activer la référence externe "Windows Script Host" ), en fin de macro il y a quelques tests infructueux parmi beaucoup d'autres.
Je pence à des problèmes d'espaces mais ....
Si quelqu'un à une idée je suis preneur.
Cordialement.