如何用vba操作ppt幻灯片的动画?

要用vba操作ppt幻灯片的动画,首先要理解ppt vba中幻灯片的动画对象的层级关系。

在ppt vba 中TimeLine对象保存着所有动画的信息,属于动画的最顶级对象,然后通过TimeLine对象的MainSequence属性可以返回一个代表所有动画效果Effect对象对应的集合对象Sequence

如果具有触发动画,也就是需要通过单击某个图形才能触发具体的动画,可以通过TimeLine对象的InteractiveSequences属性可以返回一个代表需要通过单击某个图形触发的所有Sequences对象。

一、遍历已有的动画

如下图所示的幻灯片中,MainSequence属性返回的Sequence对象具有4个Effect对象,InteractiveSequences属性返回的Sequences对象具有2个Sequence对象,其中一个Sequence对象有2个动画,一个Sequence对象有1个动画。

有了以上的知识,就可以用循环的方式处理ppt幻灯片的动画。

如以下vba代码举例说明了如何批量删除所有幻灯片的动画:

二、添加动画

如果要给某个图形添加动画效果,可以使用Sequence对象的AddEffect方法或者AddTriggerEffect方法。

其中AddEffect方法的的Shape参数表示要给哪个图形添加动画,effectId参数表示动画的类型,Level参数表示动画的应用级别,trigger参数表示动画的触发类型,Index参数表示动画在Sequence集合中的次序。

代码如下:

三、用VBA代码添加动画,并且播放动画效果

当我们用VBA给ppt图形添加动画后,最希望做到的就是让动画开始播放,产生动画效果。这时候可以设置具有动画效果的Shape对象的AnimationSettings属性的Animate属性值为True。

代码如下:

四、用VBA代码添加动画的行为

可以通过Effect对象的Behaviors属性返回AnimationBehaviors集合,然后通过AnimationBehaviors集合对象的Add方法添加动画行为对象AnimationBehavior

代码如下:

 

 





       

发表评论