![]() |
| 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: avril 2008
Messages: 6
|
Je souhaite faire une macro PPT pour extraire des informations des planches d'une présentation PPT, puis stocker les résultats dans un fichier XLS.
La macro en cours de construction boucle sur les slides de la présentation: - visualisation de la planche en cours de traitement - boucle sur les shapes de la planche en cours - stockage dans XLS. La macro semble fonctionner quand les planches à analyser sont très simples (quelques shapes) par contre dès que les planches sont un peu lourdes visual basic se plante à l'éxécution. Le message d'erreur est le suivant : Run time error '-2147188160 (80048240)' Shape (unknown member) : invalid request to select a shape, its view must be active Merci de vos conseils. PPz |
|
|
|
|
|
#3 (permalink) |
|
Invité de passage
![]() Date d'inscription: avril 2008
Messages: 6
|
Voici le code de la macro Zippé.
La macro est réduite à sa plus simple expression pour mettre en évidence le Pb. Avant de la lancer il faut mettre une autre présentation au premier plan. La version de PPT est celle de 2003. Si besoin je peux le mettre dans le texte d'un message comme celui-ci. Merci de votre aide. PPz |
|
|
|
|
|
#4 (permalink) |
![]() |
Bonjour
Je viens de tester sur une présentation de 62 diapos et pas mal de formes, et je n'ai pas découvert d'anomalie. Cependant je te conseille d'éviter les Select et de faire des boucles de types For Each, surtout dans la routine qui se nomme Analyse_PPT. Regardes ici comment faire une boucle pour parcourir les éléments d'une diapositive http://www.developpez.net/forums/sho...d.php?t=531610 Starec |
|
|
|
|
|
#5 (permalink) |
|
Invité de passage
![]() Date d'inscription: avril 2008
Messages: 6
|
Merci de ton conseil.
Je viens d'essayer une version avec les instructions for each. J'obtiens le même résultat avec la même injure quand je le teste sur mon PPT à analyser. J'ai donc cherché dans le PPT en question et j'en ai extrait une version simplifiée (2 slides au lieu de 260) qui plante aussi. Je joins à ce mail, la nouvelle version de la macro et le fichier PPT qui me pose problèmes. J'ai trouvé néanmoins un cas qui marchotte : en mettant un point d'arrêt sur l'instruction "objShp.Select" de la macro cela passe. Il faut aussi remarquer les numéros très élevés des Shapes. Merci de vos futurs conseils. PPz |
|
|
|
|
|
#7 (permalink) |
|
Invité de passage
![]() Date d'inscription: avril 2008
Messages: 6
|
Un collègue habitué de PPT 2003 a finalement trouvé la solution.
Pour sélectionner une slide il faut utiliser l'instruction suivante : Application.ActiveWindow.View.GotoSlide i_slide Pour les futurs lecteurs qui seraient intéressés, je joins la macro complète. Merci de votre aide. PPz |
|
|
|
|
![]() |
![]() |
||
Pb de communication entre PPT et XLS
|
||
| Outils de la discussion | |
|
|