Tuesday, July 29, 2008

Slide with animation and image from file


Sub EpisodeAnimation()
w = 350
h = 190
l = 180
t = 300

With ActivePresentation.Slides(1)
For i = 1 To .TimeLine.MainSequence.Count
.TimeLine.MainSequence(1).Delete
Next i

While (.Shapes.Count > 3)
.Shapes(.Shapes.Count).Delete
Wend

Set oShpA = .Shapes(3)

x = 0#
dx = 0.057
For i = 0 To 11
file = "D:\Debprakash\4-Virginia Tech\Phd-Documents\My Algorithms and Analysis\DynamicSim\" & Trim(Str(i)) & ".png"
Set oShpB = .Shapes.AddPicture(file, msoFalse, msoCTrue, l, t, w, h)

Set oEffect = .TimeLine.MainSequence.AddEffect(oShpB, msoAnimEffectFade, msoAnimateLevelNone, msoAnimTriggerWithPrevious)
oEffect.Exit = msoFalse

Set oEffect = .TimeLine.MainSequence.AddEffect(oShpA, msoAnimEffectPathRight, , msoAnimTriggerOnPageClick)
s = "M " & FormatNumber(x, 3, vbTrue, vbFalse, vbFalse) & " 0.00 L " _
& FormatNumber(x + dx, 3, vbTrue, vbFalse, vbFalse) & " 0.00 E"
oEffect.Behaviors(1).MotionEffect.Path = s
x = x + dx

Set oEffect = .TimeLine.MainSequence.AddEffect(oShpB, msoAnimEffectFade, , msoAnimTriggerWithPrevious)
oEffect.Exit = msoTrue

Next i

End With
End Sub


Sub GetfromFile()
Dim oEffect As Effect
Dim oShpB As Shape
w = 350
h = 190
l = 180
t = 300

With ActivePresentation.Slides(2)
For i = 0 To 11
file = "D:\Debprakash\4-Virginia Tech\Phd-Documents\My Algorithms and Analysis\DynamicSim\" & Trim(Str(i)) & ".png"
'MsgBox file
Set oShpB = .Shapes.AddPicture(file, msoFalse, msoCTrue, l, t, w, h)
Set oEffect = .TimeLine.MainSequence.AddEffect(oShpB, msoAnimEffectFade, msoAnimateLevelNone, msoAnimTriggerAfterPrevious)
oEffect.Timing.Speed = 0.5
oEffect.Exit = msoFalse
Set oEffect = .TimeLine.MainSequence.AddEffect(oShpB, msoAnimEffectFade, msoAnimateLevelNone, msoAnimTriggerOnPageClick)
oEffect.Timing.Speed = 0.5
oEffect.Exit = msoTrue
Next i
End With
End Sub