[R] Interaction avec pps
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- cutprod
- Niveau 6

- Messages : 273
- Enregistré le : jeu. 30 sept. 2010 17:25
- Localisation : Sud Ouest
- Status : Hors ligne
[R] Interaction avec pps
Bonjour,à tous.
Voila j'ai essayer de me débrouiller seul mais faut croire que " chaqu' un son métier " c'est un peu trop chaud pour moi!
Je voudrais faire tourner un pps sur un écran tv de demo toute la journée, dans ce pps je dois faire agir la souris dans certaine diapos. Je n'aimerais pas devoir jouer avec des tempos, car à la fin de la journée de légers écarts de timing se transformeraient en bug complet...
J'aie recherché donc le moyen pour Autoit de savoir quelle diapo (slide n°) est active a l'écran, pour déclancher des actions.
J'ai poster ma question sur "aide générale" un gentil copain ma orienter sur cet UDF . Qui semble pouvoir convenir.
Mais je bloque , j'ai du mal...
Donc je demande si une bonne âme charitable pourrait me faire un petit script qui tourne en même temps qu'un pps (en boucle) et qui, à chaque fois que la diapo numéro 3 est active a l'écran, fait apparaitre une MsgBox avec le texte "c'est la diapo 3!!" et moi je pourrais me le retravailler pour l'adapter à mon projet.
Voila je suis a votre dispo et en standby (mais je continu a faire des tests de mon coté!).Merci
Voila j'ai essayer de me débrouiller seul mais faut croire que " chaqu' un son métier " c'est un peu trop chaud pour moi!
Je voudrais faire tourner un pps sur un écran tv de demo toute la journée, dans ce pps je dois faire agir la souris dans certaine diapos. Je n'aimerais pas devoir jouer avec des tempos, car à la fin de la journée de légers écarts de timing se transformeraient en bug complet...
J'aie recherché donc le moyen pour Autoit de savoir quelle diapo (slide n°) est active a l'écran, pour déclancher des actions.
J'ai poster ma question sur "aide générale" un gentil copain ma orienter sur cet UDF . Qui semble pouvoir convenir.
Mais je bloque , j'ai du mal...
Donc je demande si une bonne âme charitable pourrait me faire un petit script qui tourne en même temps qu'un pps (en boucle) et qui, à chaque fois que la diapo numéro 3 est active a l'écran, fait apparaitre une MsgBox avec le texte "c'est la diapo 3!!" et moi je pourrais me le retravailler pour l'adapter à mon projet.
Voila je suis a votre dispo et en standby (mais je continu a faire des tests de mon coté!).Merci
Modifié en dernier par cutprod le sam. 02 oct. 2010 20:37, modifié 1 fois.
Cut, srcipteur du dimanche...désolé !-)
- SrBelial
- Niveau 7

- Messages : 335
- Enregistré le : jeu. 22 juil. 2010 11:29
- Localisation : 81 et 31
- Status : Hors ligne
Re: [..] Interaction avec pps
alors j'ai pas powerpoint sous la main donc je peux pas tester, mais est ce qu'il y a pas un moyen dans un pps pour faire en sorte qu'à chaque diapo la fenêtre powerpoint change de titre (et par exemple prenne le titre de la diapo pour titre) ?
je sais bien que de toute façon en fullscreen on s'en f**t du titre de la fenêtre, mais c'est que de cette façon tu pourrais fonctionner en faisant des tests pour savoir si une fenêtre avec le nom prévu est active ou non ...
en espérant que ce soit une bonne piste et non un cul-de-sac ...
je sais bien que de toute façon en fullscreen on s'en f**t du titre de la fenêtre, mais c'est que de cette façon tu pourrais fonctionner en faisant des tests pour savoir si une fenêtre avec le nom prévu est active ou non ...
en espérant que ce soit une bonne piste et non un cul-de-sac ...
.-SrB-. The One
- NON ! AutoIt n'est PAS un langage réservé à la réalisation de bots !
- OUI ! AutoIt est un langage à part entière !
- Dans SciTE sélectionnez 1 mot puis F1
- Don't want english doc ?? go to documentation française !! >>ICI<<
- cutprod
- Niveau 6

- Messages : 273
- Enregistré le : jeu. 30 sept. 2010 17:25
- Localisation : Sud Ouest
- Status : Hors ligne
Re: [..] Interaction avec pps
Merci pour ton aide!
Quand tu dis " a chaque diapos la fenêtre powerpoint change de titre" tu veux dire quelle fenêtre ?
Parce que le soft "Powerpoint" est fermé pendant l'exécution du pps.
Je ne fais que lancer un pps qui se trouve dans un dossier quelconque.
Quand tu dis " a chaque diapos la fenêtre powerpoint change de titre" tu veux dire quelle fenêtre ?
Parce que le soft "Powerpoint" est fermé pendant l'exécution du pps.
Je ne fais que lancer un pps qui se trouve dans un dossier quelconque.
Cut, srcipteur du dimanche...désolé !-)
- cutprod
- Niveau 6

- Messages : 273
- Enregistré le : jeu. 30 sept. 2010 17:25
- Localisation : Sud Ouest
- Status : Hors ligne
Re: [..] Interaction avec pps
Ok j'ai essayer avec "AutoIt Window Info" mais aucun changement dans la catégorie window le titre reste le même quelque soit la diapo.
Cut, srcipteur du dimanche...désolé !-)
- SrBelial
- Niveau 7

- Messages : 335
- Enregistré le : jeu. 22 juil. 2010 11:29
- Localisation : 81 et 31
- Status : Hors ligne
Re: [..] Interaction avec pps
ok bah mauvaise piste alors ^__^
éventuellement ce que je ferais moi c'est de caler dans un coin de l'écran un petit carré d'une couleur donnée, et différente à chaque slide,
et comme ça en connaissant les coordonnées de ce petit carré, tu teste si la couleur d'un pixel de ce carré correspond à une des valeurs que tu as réglé dans ton script ...
exemple : slide 1: petit carré vert en haut à droite, slide 2 : petit carré rouge en haut à droite, slide 3 : petit carré bleu en haut à droite ...
et tant que ton petit carré est pas de la bonne couleur tu sais que t'es pas sur le slide que tu veux ....
c'est pas très propre comme solution, sinon il ne reste que la possibilité de ne pas timer ton powerpoint .....
c'est à dire qu'il ne doit pas se dérouler automatiquement, et c'est le script qui swappe d'un slide à l'autre, avec un MouseClick() ou un Send() du clavier ... ça te permet de controler entièrement depuis ton script tout ce qui se passe sur ton slide, et du coup tu sais de façon très précise si tu es à tel ou tel slide, mais également depuis combien de temps tu y es ....
perso c'est cette solution que je choisirais !
éventuellement ce que je ferais moi c'est de caler dans un coin de l'écran un petit carré d'une couleur donnée, et différente à chaque slide,
et comme ça en connaissant les coordonnées de ce petit carré, tu teste si la couleur d'un pixel de ce carré correspond à une des valeurs que tu as réglé dans ton script ...
exemple : slide 1: petit carré vert en haut à droite, slide 2 : petit carré rouge en haut à droite, slide 3 : petit carré bleu en haut à droite ...
et tant que ton petit carré est pas de la bonne couleur tu sais que t'es pas sur le slide que tu veux ....
c'est pas très propre comme solution, sinon il ne reste que la possibilité de ne pas timer ton powerpoint .....
c'est à dire qu'il ne doit pas se dérouler automatiquement, et c'est le script qui swappe d'un slide à l'autre, avec un MouseClick() ou un Send() du clavier ... ça te permet de controler entièrement depuis ton script tout ce qui se passe sur ton slide, et du coup tu sais de façon très précise si tu es à tel ou tel slide, mais également depuis combien de temps tu y es ....
perso c'est cette solution que je choisirais !
.-SrB-. The One
- NON ! AutoIt n'est PAS un langage réservé à la réalisation de bots !
- OUI ! AutoIt est un langage à part entière !
- Dans SciTE sélectionnez 1 mot puis F1
- Don't want english doc ?? go to documentation française !! >>ICI<<
- cutprod
- Niveau 6

- Messages : 273
- Enregistré le : jeu. 30 sept. 2010 17:25
- Localisation : Sud Ouest
- Status : Hors ligne
Re: [..] Interaction avec pps
Ha ouai!! pas mal la solution de contrôler le timing des diapos depuis le script!!
Ça me donne la main sur tous le déroulement du pps.
Je te remercie beaucoup je vais essayer de mettre ca en œuvre.
Je te tiens au courant.
Au fait avec la fonction slidecount de l'UDF en question, on ne peut rien faire?
Ça me donne la main sur tous le déroulement du pps.
Je te remercie beaucoup je vais essayer de mettre ca en œuvre.
Je te tiens au courant.
Au fait avec la fonction slidecount de l'UDF en question, on ne peut rien faire?
Code : Tout sélectionner
Func _PPT_SlideCount($obj)
If IsObj($obj) <> 1 Then
SetError(1)
Return 0
Else
Return $obj.Slides.Count
Endif
EndFunc
Cut, srcipteur du dimanche...désolé !-)
- Jerome
- Niveau 9

- Messages : 661
- Enregistré le : mar. 07 avr. 2009 08:35
- Localisation : Picardie
- Status : Hors ligne
Re: [..] Interaction avec pps
Coucou,
j'allais justement tester un peu l'UDF pour voir ce que sa pouvait t'apporter.
Je suis entrain d'installer PowerPoint 2007 la.
Donc je vais test tout sa, je te tient au courant.
Jérôme
j'allais justement tester un peu l'UDF pour voir ce que sa pouvait t'apporter.
Je suis entrain d'installer PowerPoint 2007 la.
Donc je vais test tout sa, je te tient au courant.
Jérôme
- Jerome
- Niveau 9

- Messages : 661
- Enregistré le : mar. 07 avr. 2009 08:35
- Localisation : Picardie
- Status : Hors ligne
Re: [..] Interaction avec pps
Re-Coucou,
Essaye ceci :
Quelques autres lignes utiles ici.
Jérôme
Essaye ceci :
Code : Tout sélectionner
#include <Powerpoint.au3>
$objPPT = _PPT_PowerPointApp()
$objPPT = _PPT_PresentationOpen($objPPT, "C:\Users\Jerome\Desktop\lol.ppt")
WinWaitActive("Microsoft PowerPoint - ")
_PPT_SlideShowRun($objPPT) ; lance le diapo
$objPPT.SlideShowWindow.View.GoToSlide(3) ; va au diapo numero 3 (Enjoy pour passer tes diapo :) )Quelques autres lignes utiles ici.
Jérôme
- cutprod
- Niveau 6

- Messages : 273
- Enregistré le : jeu. 30 sept. 2010 17:25
- Localisation : Sud Ouest
- Status : Hors ligne
Re: [..] Interaction avec pps
Salut a toi , j'essaye de suite!!
Cut, srcipteur du dimanche...désolé !-)
- cutprod
- Niveau 6

- Messages : 273
- Enregistré le : jeu. 30 sept. 2010 17:25
- Localisation : Sud Ouest
- Status : Hors ligne
Re: [..] Interaction avec pps
Marche pas chez moi!! le soft powerpoint se lance mais bloque ! le pps ne se lance pas!!
tu as tester avec powerpoint 2007 je suis avec 2003, tu crois que ca a une incidence ? je peux passer au 2007 je l'ai par quelque par là...
tu as tester avec powerpoint 2007 je suis avec 2003, tu crois que ca a une incidence ? je peux passer au 2007 je l'ai par quelque par là...
Cut, srcipteur du dimanche...désolé !-)
- Jerome
- Niveau 9

- Messages : 661
- Enregistré le : mar. 07 avr. 2009 08:35
- Localisation : Picardie
- Status : Hors ligne
Re: [..] Interaction avec pps
Coucou,
Oui si tu peux test avec 2007., même si mon pps était au format 2003.
Fait des test, pour moi sa fonctionne.
Sa lance le pps et sa m'amene sur le slide que je choisit (en l'occurrence ici "3")
Edit : en faite c'est moi qui suis trop fort, utilise le fichier au format ppt ...
Je l'ai fait avec le ppt, sa lance d'abord microsoft power point puis sa met en route le diapo ....
lol ^^"
Dans le cas d'un pps, il suffit de mettre :
Jérôme
Oui si tu peux test avec 2007., même si mon pps était au format 2003.
Fait des test, pour moi sa fonctionne.
Sa lance le pps et sa m'amene sur le slide que je choisit (en l'occurrence ici "3")
Edit : en faite c'est moi qui suis trop fort, utilise le fichier au format ppt ...
Je l'ai fait avec le ppt, sa lance d'abord microsoft power point puis sa met en route le diapo ....
lol ^^"
Dans le cas d'un pps, il suffit de mettre :
Code : Tout sélectionner
#include <Powerpoint.au3>
$objPPT = _PPT_PowerPointApp()
$objPPT = _PPT_PresentationOpen($objPPT, "C:\Users\Jerome\Desktop\lol.pps")
sleep(2000)
$objPPT.SlideShowWindow.View.GoToSlide(3)Jérôme
- cutprod
- Niveau 6

- Messages : 273
- Enregistré le : jeu. 30 sept. 2010 17:25
- Localisation : Sud Ouest
- Status : Hors ligne
Re: [..] Interaction avec pps
Pardon ca fonction très bien, j'ai changer le chemin, je l'ai directement dans C:\ et ca tourne!!
Je devais me tromper dans la syntaxe du chemin!! trop nul!!
J'approfondis le truc et je te tiens au jus!!
Merci beaucoup!!

Je devais me tromper dans la syntaxe du chemin!! trop nul!!
J'approfondis le truc et je te tiens au jus!!
Merci beaucoup!!
Cut, srcipteur du dimanche...désolé !-)
- cutprod
- Niveau 6

- Messages : 273
- Enregistré le : jeu. 30 sept. 2010 17:25
- Localisation : Sud Ouest
- Status : Hors ligne
Re: [..] Interaction avec pps
Bien voila je suis parvenu (avec l'aide de Jérôme sur le forum, et mon beau frère Julien) a faire un petit script.
Ce n'est que le début de mon appli finale mais cela resume assez bien sa vocation.
Je vous le met pour avoir vos critiques et si ca peut resservir a quelqu'un...
Encore merci au forum!!
Ce n'est que le début de mon appli finale mais cela resume assez bien sa vocation.
Je vous le met pour avoir vos critiques et si ca peut resservir a quelqu'un...
Encore merci au forum!!
Code : Tout sélectionner
#include <Powerpoint.au3>
Global $objPPT = _PPT_PowerPointApp()
Global $objPPS = _PPT_PresentationOpen($objPPT, "C:\Users\AL\Desktop\1.pps")
While 1
if $objPPS.SlideShowWindow.view.Slide.Name = "slide3" Then ;si la diapo 3 est active alors
graph ();appel la fonction
Sleep(5000) ;attend x millisecondes que la diapo passe
close ()
EndIf
WEnd
func graph ()
Sleep(1500);attend x millisecondes que le webbrowser s'affiche bien
MouseClick("left", 200, 200, 1, 1) ;on bouge et click sur le graph pour le mettre en plein ecran
MouseMove(0,1023,1) ;cache la souris
EndFunc
Func close ()
_PPT_PresentationClose($objPPS) ; ferme la presentation
_PPT_PowerPointQuit ($objPPT);Exit PowerPoint
EndFuncCut, srcipteur du dimanche...désolé !-)
