Validation automatique d'une boîte de dialogue

Résolu
Mister_Gredin Messages postés 6 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 14 mai 2009 - 13 mai 2009 à 21:19
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 14 mai 2009 à 15:07
Bonsoir,

Je travaille sous le logiciel iFIX, qui est un logiciel d'automatique pour la supervision, et en fait j'ai écrit un code qui permet de créer automatiquement les objets à superviser. Le problème c'est que quand l'objet est créé, une boîte de dialogue pour régler les paramètres de cet objet apparaît.
Je voudrais pouvoir valider automatiquement (en gros le programme appui tout seul sur le bouton OK) cette boîte de dialogue.
Voilà je ne sais pas si c'est très clair.

Merci.

5 réponses

jmf0 Messages postés 1566 Date d'inscription mardi 26 décembre 2000 Statut Membre Dernière intervention 5 avril 2013 8
13 mai 2009 à 21:23
Bonsoir,

essaye un sendkeys (avec False) juste avant le déclenchement de la boîte.
3
Mister_Gredin Messages postés 6 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 14 mai 2009
13 mai 2009 à 21:33
Ok merci. Je ne pourrais pas tester avant demain mais je te tiendrais au courant.
0
Mister_Gredin Messages postés 6 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 14 mai 2009
14 mai 2009 à 09:19
Bon je viens de testé et c'est bon ça fonctionne avec sendkeys. Merci.
0
Mister_Gredin Messages postés 6 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 14 mai 2009
14 mai 2009 à 14:52
Je relance le sujet parce que j'ai un autre problème depuis que j'ai réglé le précédent. Mon code est le suivant :

Private Sub GenereObjet(Bibliotheque As String, NomObjet As String, NomVue As String)








    'Ouvre la bibliothèque



   
Dim iDoc As Object<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>






    Set iDoc = Application.Documents.Open(Bibliotheque)






    Set iDoc = Nothing






   
Set iDoc = Application.ActiveDocument.Page



   



    'Trouve l'objet dans la bibliothèque



    Dim dObjet As Object



    Set dObjet = FindLocalObject(iDoc, NomObjet)



   



    'Selectionne l'objet



   
dObjet.Select






    iDoc.Copy






    Set iDoc = Nothing






    Set iDoc = Application.Documents.Open(NomVue)






    Set iDoc = Nothing






    Set iDoc = Application.ActiveDocument.Page






   








   
'SendKeys "{ENTER}", False 'Permet de valider automatiquement la boîte de dialogue



   



    'Colle l'objet dans la vue



   
iDoc.Paste






    MsgBox "test" 






     







End Sub

Dans ma fonction je dois récupérer un objet dans une bibliothèque et le copier/coller dans une nouvelle fenêtre. La fonction ci-dessus est appelée dans une boucle for (dans ma fonction Main()), mais le problème c'est que l'instruction iDoc.Paste arrête l'exécution du programme. La fonction n'est donc exécuté qu'une seule fois. L'instruction Paste doit seulement permettre de coller l'objet. Je précise qu'il n'y a pas d'erreur lors de l'exécution et qu'une fois l'instruction Paste passée l'exécution est stoppée de la même manière que si j'avais appuyé sur STOP.

J'ai cherché sur internet mais je ne trouve pas de solution à mon problème.

Même sur le site officiel du logiciel iFIX où la seule réponse que j'ai trouvé est la suivante :
http://gefanuc.bnsi.net/eforum/showthread.php?t=10239
Cependant ma version du logiciel ne correspond pas à celle de cet internaute  et ça ne résoud donc pas mon problème.

Voila donc si vous avez des pistes ou si vous avez déjà rencontré ce problème, même avec une autre instruction, merci d'avance.
0

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

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
14 mai 2009 à 15:07
pas propre, ce SendKeys !

envoies (SendMessage) plutot un WM_COMMAND a la boite de dialogue, avec wParam 1 et lParam ID du bouton OK

utilises Spy++ pour trouver l'ID et l'API FindWindow pour retrouver le hWnd de ta cible.
0
Rejoignez-nous