![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Invité de passage
![]() Date d'inscription: mai 2008
Messages: 3
|
Bonjour,
Je programme depuis quelque temps en VBA sous Powerpoint et je recherche encore la meilleure façon d'éxecuter une macro en tâche de fond lorsqu'une diapositive est affichée, tout en étant capable (avec cette macro) de capter les frappes clavier pour y réagir. Jusqu'à maintenant j'utilise un CommandButton sur le slide pour effectuer les initialisations et lançer une boucle "While True" avec un "DoEvents" dedans pour reproduire un mini OS. C'est une solution qui marche mais j'aimerai savoir si il n'y aurait pas moyen de faire exécuter ce code dès que la diapositive s'affiche sans avoir le CommandButton. Pour capter les frappes clavier, j'utilise ma boucle while pour surveiller une TextBox mais le comportement résultant n'est pas déterministe car la boucle while est parfois stoppé lorsque le focus est sur la TextBox. Est-ce que vous connaissez une meilleur solution à ce deux problèmes? |
|
|
|
|
|
#2 (permalink) |
![]() |
Bonjour et bienvenue sur le forum Office de DVP.
Je t'invite à lire la discussion suivante : http://www.developpez.net/forums/sho...d.php?t=530003 au quatrième message. J'explique sommairement comment déclencher quelque chose au passage d'une diapositive à l'autre, donc sans intervention. Si j'ai bien compris ce que tu veux, sinon il y a d'autres évènements que tu trouveras dans le module de classe lorsque tu créeras celui-ci. Starec |
|
|
|
|
|
#3 (permalink) |
|
Invité de passage
![]() Date d'inscription: mai 2008
Messages: 3
|
Ok, merci.
J'ai essayé et effectivement l'événement se déclenche. En revanche, je n'ai pas trouvé d'évenement associé à une frappe clavier dans le EventClassModule. Est-ce que tu as une solution autre que de mettre une TextBox pour exécuter du code en réponse à une frappe au clavier? |
|
|
|
|
|
#4 (permalink) |
![]() |
Bonjour
Effectivement, je n'ai pas trouvé d'évènement pour une frappe clavier. Cependant dans ta zone de texte, tu as les évènements Change, ou KeyPress au lieu d'une boucle. Il ne faut quand même pas oublier que PPT est un outil de présentation. Starec
__________________
En cas de questions techniques par MP ou message visiteur ![]() Office : :Les Cours, Les FAQs VB : Les Cours, Les FAQs Mes articles : ici Me connaitre Dernière modification par Philippe JOCHMANS ; 19/05/2008 à 15h45 |
|
|
|
|
|
#5 (permalink) |
|
Invité de passage
![]() Date d'inscription: mai 2008
Messages: 3
|
Encore merci.
En fait, j'ai choisi d'utiliser une boucle au lieu des événements KeyPress et Change parce que mon slide gère aussi du pooling en continu (affichage d'une horloge et réception de trames sur port COM du PC). |
|
|
|
|
![]() |
![]() |
||
Tâche de fond et pilotage clavier sur une diapositive
|
||
| Outils de la discussion | |
|
|