PPT代码片段合集
批量操作
批量添加固定元素
批量删除固定元素
批量删除所有动画
图片批量变成灰色
批量取消文本加粗
待整理分类
将PPT拆分成单页
将PPT的页面逆序
PPT勾选交互效果
活动开始倒计时
随机抽奖或随机点名
制作指定月份的日历
循环放映时隐藏部分页面
只给未隐藏的页面添加页码
生成多等分的圆环
在奇偶页插入不同页脚
倒计时到特定日期
跳转到随机页面
随机打乱指定页面的顺序
跳转上一页与下一页
一键关闭所有插件
公众号:自律的音律
-
+
首页
跳转上一页与下一页
> 该代码可用于页面间的跳转,在跳转上一页与下一页的基础上,还重置了当前页面的动画效果,使 PPT 交互时动画可以重复播放。 通常情况下,可以选中按钮后,在`插入`选项卡中插入`动作`,并设置为单击超链接到上一张幻灯片或下一张幻灯片,从而实现点击按钮跳转到上一页或下一页。 这是最基础的交互效果,常用于课件的制作。 但使用超链接来做交互触发也有一定的局限,如果 PPT 中设置了动画,放映时动画播放完一次后,不管页面如何反复跳转,动画都无法再次播放。 如果需要每跳转一次页面,该页的动画效果都会被重置且可以反复播放,那就可以使用下面的代码来实现。 只需要在每页设置两个不同的按钮,分别绑定动作到运行宏`跳转上一页`和`跳转下一页`即可。 **代码如下:** ```vb Option Explicit Public lIdx As Long '绑定按钮跳转到下一页' Public Sub 跳转下一页(ByRef oShp As Shape) Dim oSld As Slide Set oSld = oShp.Parent lIdx = oSld.SlideIndex + 1 '如果 lIdx 经过加 1 减 1 后,刚好等于总页数,那么将其重置为 1,下一步就会跳转回第 1 页' If lIdx - 1 = ActivePresentation.Slides.Count Then lIdx = 1 '跳转到指定页面并重置动画' SlideShowWindows(1).View.GotoSlide lIdx, msoTrue End Sub '绑定按钮跳转到下一页' Public Sub 跳转上一页(ByRef oShp As Shape) Dim oSld As Slide Set oSld = oShp.Parent lIdx = oSld.SlideIndex - 1 '如果 lIdx 减 1 后等于 0,那么将其重置为总页数,下一步就会跳转回最后一页' If lIdx = 0 Then lIdx = ActivePresentation.Slides.Count '跳转到指定页面并重置动画' SlideShowWindows(1).View.GotoSlide lIdx, msoTrue End Sub ``` 以下是拓展代码,将按钮绑定动作到运行宏`重置动画`即可使当前页面的动画重置。 ```vb Public Sub 重置动画() With SlideShowWindows(1).View .GotoSlide .CurrentShowPosition End With End Sub ``` 来源:[Supercharging PowerPoint interactive presentations with VBA](https://www.brightcarbon.com/blog/supercharging-powerpoint-interactive-presentations-with-vba-part-1/) 注:原文代码有误,本文已将代码改正。
音律
May 17, 2022, 11:21 p.m.
1 条评论
转发文档
收藏文档
上一篇
下一篇
评论
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档
PDF文档(打印)
分享
链接
类型
密码
更新密码