VB et C#

Résolu
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011 - 22 juin 2005 à 21:58
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 - 23 juin 2005 à 12:04
Bonsoir :


J'ai un code écrit en VB contenu dans une macro excel. Je souhaite récuperer ce code et l'utiliser dans une application C#.


Ce code se présente de cette facon :






Code:, ----
Lign_Telnet_Exec = "c:\WINNT\system32\telnet.exe 205.201.200.153"

jour_prix = Format(Now, "ddmmyy")

VBA.Shell Lign_Telnet_Exec, 3

Application.Wait (Now + TimeValue("00:00:02"))

VBA.SendKeys "psi", True

Application.Wait (Now + TimeValue("00:00:02"))

VBA.SendKeys "{ENTER}", True

Application.Wait (Now + TimeValue("00:00:02"))

VBA.SendKeys "psi", True

Application.Wait (Now + TimeValue("00:00:02"))

VBA.SendKeys "{ENTER}", True

Application.Wait (Now + TimeValue("00:00:03"))







1. On m'a dit qu'il fallait que je recupere le code de la macro et que
je colle le tout dans visual basic (mon premier probleme)





2. Ensuite, il faut convertir ce code vb.net puis après il sera utilisable dans mon code C#





Est ce que le procédé est bon ?


Si vous pouvez m'aider pour ces deux étapes !!! Cela serait super sympa de votre part. Merci a tout le monde pour votre aide

10 réponses

Fildomen Messages postés 805 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 30 octobre 2010
22 juin 2005 à 23:00
Lign_Telnet_Exec = @"c:\WINNT\system32\telnet.exe 205.201.200.153" ;


System.Diagnostics.
Process.Start(
"Lign_Telnet_Exec");

System.Threading.Thread.Sleep(2000);


System.Windows.Forms.
SendKeys.SendWait("psi");

System.Threading.Thread.Sleep(2000);
System.Windows.Forms.SendKeys.SendWait(System.Windows.Forms.
Keys.Enter.ToString()
);
System.Threading.Thread.Sleep(2000);

System.Windows.Forms.SendKeys.SendWait("psi");

System.Threading.Thread.Sleep(2000);

System.Windows.Forms.SendKeys.SendWait(System.Windows.Forms.Keys.Enter.ToString()
);
System.Threading.Thread.Sleep(2000);

a verifier
YaoYao !!
1 + 1 = 10
3
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
23 juin 2005 à 11:37
Process.Start( "telnet.exe", "127.0.0.1" );

Le deuxieme argument c'est l'IP.
3
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
22 juin 2005 à 22:52
Salut, pourquoi ne pas passer tout de suite à la 2eme étape, et convertir directement en C#.. Je connais pas VBA mais on devine que la 1ere ligne c'est juste la déclaration d'une variable string, en suite je pense que Format c'est l'equivalent de DateTime.ToString( string ), Now c'est surement DateTime.Now, VBA.Shell doit lancer l'exe donc faut utiliser Process.Start( string, string ), la methode SendKeys existe aussi en C# et TimeValue je le remplacerais par TimeSpan, y'a que la methode Wait que je ne vois pas comment la remplacer facilement à part tester l'heure dans une boucle, ou bloquer le thread !?
0
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
23 juin 2005 à 10:52
Juste un détail, j'arrive pas a passer en paramatre l'adresse IP. J'ai essayer différente facon mais aucune ne fonctionne !!

System.Diagnostics.Process.Start("telnet.exe 10.44.240.1");

System.Diagnostics.Process.Start("c:\telnet.exe 10.44.240.1");

System.Diagnostics.Process.Start(@"c:\telnet.exe 10.44.240.1");



On me dit : Erreur classe d'exception non gérée
System.ComponentModel.Win32Exception avec le message le fichier est
introuvable !!!Alors que si j'enleve l'IP il trouve bien le fichier
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
23 juin 2005 à 11:12
la réponse est dans mon message précédent : ))
0
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
23 juin 2005 à 11:14
Bah excuse moi mais je ne la vois pas :)
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
23 juin 2005 à 11:23
Process.Start( string string );
0
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
23 juin 2005 à 11:32
Mais je remplace string string par quoi. Excuse moi, j'ai un peu de mal ce matin !!! ;)
0
cs_piep14 Messages postés 345 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 13 mai 2011
23 juin 2005 à 11:43
Merci !!!

Une question pendant que je suis sur un sujet. J'ai voulu tester mon
programme sur un autre PC mais il ne veut pas fonctionner surement a
cause qu'il manque des dll. Comment savoir celle qu'il faut exporter
sur les autres PC

Merci
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
23 juin 2005 à 12:04
Bha, c'est pas évident de répondre.. Des DLLs natives ou managées ? Les DLLs managées sont installées par le framework, sauf celles qui ne sont pas de Microsoft que tu dois déployer avec ton application chez le client.. Pour les DLLs natives en générale on vérifie dans la doc sur quelle version de Windows elle sont disponibles..
0
Rejoignez-nous