来给PPT添加一个进度条和页码吧

您所在的位置:网站首页 ppt加目录和页码 来给PPT添加一个进度条和页码吧

来给PPT添加一个进度条和页码吧

2023-10-28 10:40| 来源: 网络整理| 查看: 265

今天做ppt时,突然想给ppt加个页码,以记录播放进度,于是找到了加页码的方法,后来又找到了进度条的方法,很酷! 看到大家比较喜欢,2022年对此文章增加图文!!!!

前言

用 VBA 实现在 PPT 最下边加个进度条,方便查看进行到总长度的多少, 抓住了听讲人的心理:“啥时候才能讲完啊?” 进度条只能体现已播放的幻灯片张数,不能用于计时。

效果图

在这里插入图片描述

开始

打开 PPT,按 Alt+F8 新建个宏,随便取个宏名,不用改宏作用区域, 点“创建”,删除模块里的内容,把代码复制过去。 (按 Alt+F11 之后插入模块也可以)

Sub AddProgressBar() On Error Resume Next With ActivePresentation For X = 2 To .Slides.Count - 1 '第一页和最后一页不加 .Slides(X).Shapes("PB").Delete Set s = .Slides(X).Shapes.AddShape(msoShapeRectangle, _ 0, .PageSetup.SlideHeight - 3, _ X * .PageSetup.SlideWidth / .Slides.Count, 3) '条高度 s.Fill.ForeColor.RGB = RGB(246, 202, 5) '设置颜色 s.Name = "PB" Next X: End With End Sub

不明白的是如果拷贝来的ppt页面就加不了了,很是奇怪,看起来进度条出来了,但颜色设置没有出来,默认透明。不过设置好后,用格式刷一遍也不麻烦,如果有人用vb搞定的给我留言。

针对上面不能显示的,可以看一下下面这个是国内修改的,可以判断隐藏的,基本没遇到问题,保存的时候需要保存为启用宏的ppt格式

Sub ProgressBar() Dim mySlides As Slides Dim pageBar As ShapeRange Dim pageSHower As Shape Dim pageWidth, pageHeight, pageStep Dim MyArray() As Variant '增加一个数组以便统计隐藏的幻灯片 Dim i, j, k j = 0 k = 0 Set mySlides = Application.ActivePresentation.Slides pageWidth = Application.ActivePresentation.SlideMaster.Width pageHeight = Application.ActivePresentation.SlideMaster.Height ' pageStep = pageWidth / mySlides.Count ReDim MyArray(mySlides.Count, 0) For i = 1 To mySlides.Count '统计隐藏的幻灯片数 If mySlides.Item(i).SlideShowTransition.Hidden = True Then j = j + 1 MyArray(i, 0) = 1 Else MyArray(i, 0) = 0 End If Next '除去首页和隐藏的幻灯片后计算进度条长度增量 If mySlides.Count - 1 - j > 0 Then pageStep = pageWidth / (mySlides.Count - 1 - j) Else pageStep = 0 End If On Error Resume Next For i = 1 To mySlides.Count ' 改为从1开始 k = k + MyArray(i, 0) ' 计算当前隐藏的幻灯片数 Set pageBar = mySlides.Item(i).Shapes.Range(Array()) Set pageBar = _ mySlides.Item(i).Shapes.Range(Array("RectanglePageNum")) If IsNull(pageBar) Or pageBar.Count = 0 Then GoTo newBar Set pageSHower = pageBar.Item(1) GoTo nextPage newBar: Set pageSHower = mySlides.Item(i).Shapes.AddShape( _ msoShapeRectangle, 0, _ pageHeight - 3, i * pageStep, 3) pageSHower.Name = "RectanglePageNum" nextPage: pageSHower.Fill.ForeColor.RGB = RGB(246, 202, 5) pageSHower.Line.Visible = msoFalse ' pageSHower.Width = i * pageStep ' 计算进度条长度时除去首页和隐藏的幻灯片 pageSHower.Width = (i - 1 - k) * pageStep pageSHower.Top = pageHeight - 3 pageSHower.Left = 0 pageSHower.Height = 3 ' 删除首页和隐藏的幻灯片的进度条 If i = 1 Or MyArray(i, 0) = 1 Then pageSHower.Delete Next End Sub

颜色尺寸可以更改,现在的高度是8,在页面最下方,颜色是桔黄色。

PowerPoint 2007/2010 需要另存为带宏的演示文稿,还可以把宏按钮添加 到快速访问工具栏。

运行添加进度条

修改完 PPT 或者 首次设置进度条都得运行宏,这是很多人纳闷的地方,为啥添加了宏,却没有进度条。 如何执行? 操作: 按 Alt+F8 或用快速访问工具栏 ,打开如下图所示,点击运行就可以了,就可以看到前面看到的 效果图 那样的进度条啦。 在这里插入图片描述

开始讲 PPT 前先运行宏(按 Alt+F8 或用快速访问工具栏),运行一次即可, 播放幻灯片时就会自动加上进度条,只有第一页不加,会自动根据当前页 面数刷新进度。

注:增减幻灯片(总页数改变)后要重新运行一次宏。如果确定不修改了,也可以再次另存为 pptx 等非宏运行格式,进度条还在,但是宏没有了。

在Powerpoint中给幻灯片自动添加页码

加页码其实就是跟word 里面一样,都是对页眉页脚的功能区进行修改:

1.打开你已经做好的ppt,

2.点击菜单栏上“插入”-“幻灯片编号”,在幻灯片编号前打对号。(新版本的可以在页眉页脚面板也可以勾选) 在这里插入图片描述

3.根据你的需要可以添加页码的同时添加日期等等。

4.然后选择“全部应用”,就可以在每张幻灯片右下脚出现页码。 在这里插入图片描述

加上总页码:

1.打开做好的PowerPoint文件,首先要为每页幻灯片加入编号(相当于Word中的页码)。点击菜单“插入”->“幻灯片编号”,选择“幻灯片编号”,然后点选“全部应用”。

2.接下来看看整个PowerPoint总共有多少页,例如这个PowerPoint有10页,然后我们就要进入幻灯片母版状态对母版进行编辑。点击菜单“视图”->“母版”->“幻灯片母版”进入母版状态,。

3.观察幻灯片母版,母版的左下角有一个叫“数字区”的地方,用鼠标点击一下就可以进行编辑。   移动光标到“”符号的后面,然后输入“/10”,当然,“/10”这部分你可以改成自己想要的形式,如“共10页”等等。   4.编辑完成后,点击菜单“视图”->“普通”,退出母版状态,并保存整个文件。

母版中可以调整页码的位置

方法参考自:

http://en.kioskea.net/faq/937-insert-a-progress-bar-to-powerpoint-presentation#how-to-proceed http://oicu.cc.blog.163.com/blog/static/1230394712010611039349/ http://www.dreamflier.net/blog/user1/3/2076.html



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3