可通过VBA宏一键批量清除PowerPoint所有幻灯片动画:先启用“开发工具”选项卡,再插入并运行RemoveAllAnimations宏清除基础动画,或使用ClearAllAnimationsFromTimeline宏彻底清空时间线动画,最后保存为PPTM格式以保留宏功能。

PPT幻灯片如何一键删除所有动画效果_利用宏代码批量清除动画  第1张

如果您在PowerPoint中为多张幻灯片设置了大量动画效果,手动逐个删除既耗时又容易遗漏,则可通过VBA宏代码实现一键批量清除所有动画效果。以下是执行此操作的具体步骤:

成品ppt在线生成,百种模板可供选择☜☜☜☜☜点击使用;

一、启用开发工具选项卡

PowerPoint默认不显示“开发工具”选项卡,需先在功能区中启用,以便访问VBA编辑器。启用后才能插入和运行宏代码。

1、点击“文件”→“选项”。

2、在弹出的“PowerPoint选项”窗口中,选择左侧的“自定义功能区”。

3、在右侧“主选项卡”列表中,勾选“开发工具”复选框。

4、点击“确定”,此时功能区最右侧将显示“开发工具”选项卡。

二、插入并编辑清除动画宏代码

通过VBA编辑器新建一个宏,输入可遍历当前演示文稿全部幻灯片及所有形状的动画清除代码,确保不遗漏任何动画类型(进入、强调、退出、路径动画)。

1、切换到“开发工具”选项卡,点击“Visual Basic”按钮打开VBA编辑器。

2、在VBA编辑器中,右键“Normal”或当前PPT文件名(如“VBAProject(演示文稿1)”),选择“插入”→“模块”。

3、在新模块空白窗口中,粘贴以下完整代码:

Sub RemoveAllAnimations()
Dim sld As Slide
Dim shp As Shape
For Each sld In ActivePresentation.Slides
  For Each shp In sld.Shapes
    Do While shp.AnimationSettings.Animate
      shp.AnimationSettings.Animate = False
    Loop
  Next shp
Next sld
MsgBox "所有幻灯片中的动画效果已清除完毕!"
End Sub

三、运行宏清除全部动画

宏代码保存后,可直接运行,该过程将自动遍历每张幻灯片的每个对象,关闭其AnimationSettings属性中的动画开关,适用于PowerPoint 2010及以上版本。

1、返回PowerPoint界面,在“开发工具”选项卡中点击“宏”按钮。

2、在宏对话框中,从列表中选择“RemoveAllAnimations”,点击“运行”。

3、等待几秒后,弹出提示框显示“所有幻灯片中的动画效果已清除完毕!”,表示执行完成。

四、使用替代宏代码(兼容旧版与复杂动画结构)

若上述方法对含自定义动画窗格中多段动画的对象无效(例如同一形状存在多个动画序列),可采用基于TimeLine对象的更彻底清除方式,该方法直接清空幻灯片级时间线中所有动画节点。

1、在VBA编辑器中新建另一个模块,粘贴以下代码:

Sub ClearAllAnimationsFromTimeline()
Dim sld As Slide
Dim eff As Effect
For Each sld In ActivePresentation.Slides
  Do While sld.TimeLine.MainSequence.Count > 0
    Set eff = sld.TimeLine.MainSequence(1)
    eff.Delete
  Loop
Next sld
MsgBox "所有幻灯片的时间线动画已完全清除!"
End Sub

2、回到PowerPoint,“开发工具”→“宏”,选择并运行“ClearAllAnimationsFromTimeline”

五、保存为启用宏的PPTM格式

若需反复使用该宏,必须将文件另存为支持宏的格式,否则下次打开时宏将不可用。普通PPTX格式会自动禁用并删除所有VBA代码。

1、点击“文件”→“另存为”,选择保存位置。

2、在“保存类型”下拉菜单中,选择“PowerPoint 启用宏的演示文稿 (*.pptm)”

3、输入文件名,点击“保存”。