2010-10-05 28 views
1

Je copie par programmation les formes d'une diapositive entière vers une nouvelle diapositive dans une autre présentation en effectuant origShape.Copy puis newSlide.Shapes.Paste(). (copier/coller la diapositive entière n'est malheureusement pas une option pour moi ici)Copie de formes entre des présentations PowerPoint 2007 avec leurs animations

Mon problème est que les effets d'animation deviennent vraiment déformés. Certains sont perdus, d'autres apparaissent dans le mauvais ordre.

Je pensais que peut-être après avoir copié toutes les formes je vais aller sur origSlide.TimeLine et copiera chaque effet d'animation à newSlide.TimeLine avec les formes correspondantes.

Existe-t-il un moyen de copier les effets d'animation entre les formes sans définir manuellement chaque paramètre? (il y a BEAUCOUP de ceux-ci).

Répondre

0

Lors de la copie de forme par forme à une nouvelle diapositive, naturellement l'ordre des animations est ruiné. Si nous avions par exemple la séquence d'animation suivante:

  1. rectangle volant dans
  2. Triangle volant dans
  3. rectangle volant à

Et nous copier d'abord le rectangle et le triangle à une nouvelle diapositive, nous obtiendrons d'abord les deux animations du rectangle puis du triangle. Mon erreur essayait de résoudre ce désordre en utilisant Shape.AnimationSettings.

Méfiez-vous de la forme.ANIMATIONSetTINGS !!

Cette propriété est conservée uniquement pour des raisons de compatibilité descendante avec les anciennes versions de PowerPoint. Si vous modifiez l'un de ses champs, toutes les animations d'une forme sauf la première sont automatiquement effacées! Donc, la solution est la suivante: Copier la forme par forme sur la nouvelle diapositive (aucune animation n'est perdue, juste mal ordonnée). Ensuite, utilisez Slide.TimeLine pour passer en revue les effets d'animation et les ordonner correctement en utilisant Effect.MoveTo, ou Sequence.Clone et Effect.Delete.

+0

Il m'a fallu beaucoup de temps et d'efforts pour résoudre ce problème et trouver ce qui n'allait pas avec Shape.AnimationSettings. Ensuite, j'ai dérangé et posté la solution ici. Je n'apprécie vraiment pas ce "Vote-Down" - cette personne n'a pas pris la peine de comprendre la question complexe ni la solution. –