OUVRIR UNE FENETRE DOS A PARTIR D'UNE MACRO EXCEL

cs_bfiguig Messages postés 9 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 12 janvier 2009 - 7 nov. 2008 à 10:11
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 - 7 nov. 2008 à 16:18
bonjour,
voila, y - a - t - il un moyen pour pouvoir ouvrir une fenetre dos à partir d'une macro excel et executer un script ensuite recuperer le resultat de ce script.
je vous donne un exemple concré :
je veux cripter un mot de passe et recuperer le resultat cripté, donc à partir d'une macro je lance :
cet executable "oraclehash.exe" permet de cripter un mot de passe

Dim RetVal
RetVal = Shell (C:\oraclehash.exe toto mot_de_passe)
mais quand je fait Msgbox RetVal, il me renvoie une valeur numerique
moi je veux recuperer la valeur cripter

si vous voulez plus d'explication je suis à votre disposition
merci de m'aider c'est vraiment urgent
cordialement

2 réponses

cs_bfiguig Messages postés 9 Date d'inscription vendredi 11 avril 2003 Statut Membre Dernière intervention 12 janvier 2009
7 nov. 2008 à 14:45
Bonjour,


j'ai reussi à ouvrir la fenetre dos et à executer un petit programme pour cripter des mots de passe
voila le code que j'ai utilisé :


Dim F As String
ChDir "D:\benali\dev"


F = FreeFile
Open "D:\benali\dev\new.txt" For Append As #F
Print #F, Shell("cmd.exe /k D:\benali\dev\oraclehash.exe " & USER & " " & mot_de_passe)
Close #F


donc quand j'execute la macro, la fenetre dos s'ouvre et on voit dans fenetre dos la clef cripter et voila un exemple :


on voit ca : fec98d2697eb0a32:AAA
mais dans mon fichier texte new.txt je trouve ca : "2580", mais je veux trouver dans mon fichier ca : "fec98d2697eb0a32:AAA"
alors ma question est comment recuperer ce que je vois dans la fenetre dos
merci beaucoup
cordialement
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
7 nov. 2008 à 16:18
Salut,

et ce ne serait pas possible d'ecrire directement le resultat depuis le dos ?

Sub DemoShell()
    Dim Chemin As String, User As String, Password As String, CMDAppli As Double
    user = "bob"
    Password = "bob"
    Chemin = "D:\benali\dev"
    CMDAppli = Shell("cmd.exe /k for /f %i in ('""" & Chemin & "oraclehash.exe " & User & " " & Password & """') do echo %i > " & Chemin & "new.txt")
End Sub

Cela fait une jolie ligne de commande non ?

A+
0
Rejoignez-nous