PowerPoint 幻灯片 PPT 进度条 制作

原文自:http://www.newsmth.net/bbscon.php?bid=612&id=93742

及:http://oicu.cc.blog.163.com/blog/static/1230394712010611039349/

作者:dukenuke

用 VBA 实现在 PPT 最下边加个进度条,方便查看进行到总长度的多少,
抓住了听讲人的心理:“啥时候才能讲完啊?”

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

进度条宏的作者是水木社区的 dukenuke

Sub ProgressBar()
' by dukenuke@newsmth.net
' Sun Jul 11 00:06:13 2010


Dim mySlides As Slides
Dim pageBar As ShapeRange
Dim pageSHower As Shape
Dim pageWidth, pageHeight, pageStep

Set mySlides = Application.ActivePresentation.Slides

pageWidth = Application.ActivePresentation.SlideMaster.Width
pageHeight = Application.ActivePresentation.SlideMaster.Height
pageStep = pageWidth / mySlides.Count

On Error Resume Next

For i = 2 To mySlides.Count
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(179, 162, 199)
pageSHower.Line.Visible = msoFalse
pageSHower.Width = i * pageStep
pageSHower.Top = pageHeight - 3
pageSHower.Left = 0
pageSHower.Height = 3

Next
End Sub


颜色尺寸可以更改,现在的高度是3,在页面最下方,颜色是淡紫色。

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

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

注:增减幻灯片(总页数改变)后要重新运行一次宏。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值