使用VBA转换PowerPoint AnimationAfterEffect

时间:2014-05-26 21:10:23

标签: vba powerpoint

我有许多大型PowerPoint演示文稿(每张~800张幻灯片)都是用PP_ 95编写的,需要转换为学生才能在当前版本的PowerPoint中查看。 作者经常使用' HideOnNextClick' PP 2003以后被误解了。如果没有鼠标点击效果,则文本(或具有此效果的任何内容)会立即消失。

如果效果不是幻灯片上的最后一个,可以通过使用以下方法为下一个效果设置Timing.TriggerType来解决: -

Dim e0 As Effect, e1 As Effect
........
If e0.EffectInformation.AfterEffect = msoAnimAfterEffectHideOnNextClick Then
            e1.Timing.TriggerType = msoAnimTriggerOnPageClick
End If 

问题是,如果它是最后一项,则没有下一项'采取' msoTriggerOnPageClick'。

手动更改“效果选项...”'来自'隐藏在下一个鼠标上点击'为了“不要朦胧”具有预期的效果,但我使用VBA花了几天时间没有成功。

我很有希望...

If e0.EffectInformation.AfterEffect = msoAnimAfterEffectHideOnNextClick Then
       Set e0.effConvert = e0.ConvertToAfterEffect _
    (Effect:=effConvert, After:=msoAnimAfterEffectNone)
End If

...会起作用,但是' e0.ConvertToAfterEffect'失败并出现"编译错误:未找到方法或数据成员"。

感谢任何语法或正确方法的帮助。谢谢

1 个答案:

答案 0 :(得分:0)

Sub chexAfter()
Dim e0 As Effect
Dim osld As Slide
Set osld = ActivePresentation.Slides(1)
For Each e0 In osld.TimeLine.MainSequence
If e0.EffectInformation.AfterEffect = msoAnimAfterEffectHideOnNextClick Then
Set e0 = osld.TimeLine.MainSequence.ConvertToAfterEffect _
(Effect:=e0, After:=msoAnimAfterEffectNone)
End If
Next
End Sub