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

今天做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

  • 12
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值