Validation automatique d'une boîte de dialogue [Résolu]

Mister_Gredin 6 Messages postés mardi 7 novembre 2000Date d'inscription 14 mai 2009 Dernière intervention - 13 mai 2009 à 21:19 - Dernière réponse : Renfield 17308 Messages postés mercredi 2 janvier 2002Date d'inscriptionModérateurStatut 22 août 2018 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
jmf0 1566 Messages postés mardi 26 décembre 2000Date d'inscription 5 avril 2013 Dernière intervention - 13 mai 2009 à 21:23
3
Merci
Bonsoir,

essaye un sendkeys (avec False) juste avant le déclenchement de la boîte.

Merci jmf0 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de jmf0
Mister_Gredin 6 Messages postés mardi 7 novembre 2000Date d'inscription 14 mai 2009 Dernière intervention - 13 mai 2009 à 21:33
0
Merci
Ok merci. Je ne pourrais pas tester avant demain mais je te tiendrais au courant.
Commenter la réponse de Mister_Gredin
Mister_Gredin 6 Messages postés mardi 7 novembre 2000Date d'inscription 14 mai 2009 Dernière intervention - 14 mai 2009 à 09:19
0
Merci
Bon je viens de testé et c'est bon ça fonctionne avec sendkeys. Merci.
Commenter la réponse de Mister_Gredin
Mister_Gredin 6 Messages postés mardi 7 novembre 2000Date d'inscription 14 mai 2009 Dernière intervention - 14 mai 2009 à 14:52
0
Merci
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.
Commenter la réponse de Mister_Gredin
Renfield 17308 Messages postés mercredi 2 janvier 2002Date d'inscriptionModérateurStatut 22 août 2018 Dernière intervention - 14 mai 2009 à 15:07
0
Merci
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.
Commenter la réponse de Renfield

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.