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

如果您在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、输入文件名,点击“保存”。










