RETRIEVING NAME OF POWER POINT PRESENTATION

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hi!



This is something one of my friends at work have been struggling to find for
several days now. We are trying to create a function that would check if a
object in power point presentation has a certain animation attached to it.
Weird thing is that it is quite easy to retrieve a name of entry effect
(something like:
apppowp.ActiveWindow.Selection.ShapeRange.AnimationSettings.EntryEffect does
the trick.) but the problem is it's just impossible to find where MS has
hidden the Emphasis, Exit effects as well as Motion paths. You would think
that they should be somewhere near but... well they aren't.



Any suggestions?
 
The problem is that this is much more complicated than it seems. In the
old system (97 and 2000), a shape had an animation, and that was that
(and there were no exit animations). In the new system (2002 and above),
you have a timeline. That means that animations aren't exactly stored
with the shape, but with the timeline. The advantage is that shapes can
have many different animations applied to them. However, you can't just
look at a shape and decide what animation is applied to it. All that is
stored in the Timeline object of the slide. For example,

ActiveWindow.Selection.SlideRange(1).TimeLine.MainSequence

There might be an easier way, but I suppose you could loop through that
and see if a particular animation in the timeline is applied to a
particular shape (perhaps, the one selected). By the way, whether or not
something is an Exit animation is set by the Exit property of the
animation (.TimeLine.MainSequence(37).Exit).

--David

--
David M. Marcovitz
Microsoft PowerPoint MVP
Director of Graduate Programs in Educational Technology
Loyola College in Maryland
Author of _Powerful PowerPoint for Educators_
http://www.PowerfulPowerPoint.com/
 
As David says do not use animation effects after XP.
You can get the first animationfor a shape on any slide using
FindFirstAnimationFor

eg
Dim oshp As Shape
Dim oeff As Effect
Set oshp = ActiveWindow.Selection.ShapeRange(1)
Set oeff =
ActivePresentation.Slides(1).TimeLine.MainSequence.FindFirstAnimationFor(oshp)
MsgBox oeff.EffectType
 
Back
Top