幻灯片中基于VBA实现的PPT播放进度条

简介

目标是在幻灯片中添加可以显示播放进度的图标,文中平台是macOS下的PowerPoint,读者如果使用其他平台可能会遇到部分界面不同,但是操作流程是可以参考的。具体效果,我们使用PowerPoint中的VBA(Visual Basic for Applications)宏实现。

代码块

以下是一个VBA宏代码示例,它会在每张幻灯片(除了首尾页)底部绘制一个进度条,进度长度根据当前页码与总页数的比例动态调整,进度条呈渐变效果:

Sub AddProgressBar()
    Dim slide As slide
    Dim slideIndex As Integer
    Dim progressBar As Shape
    Dim totalSlides As Integer
    Dim progressWidth As Single
    Dim progressHeight As Single
    Dim startX As Single
    Dim startY As Single

    ' 设置进度条的尺寸和位置
    progressHeight = 6 ' 进度条的高度
    startX = 0 ' 进度条的起始 X 坐标
    startY = ActivePresentation.PageSetup.SlideHeight - progressHeight ' 进度条的 Y 坐标,靠近底部

    ' 获取总页数
    totalSlides = ActivePresentation.Slides.Count

    ' 遍历每张幻灯片,添加或更新进度条(跳过第一页和最后一页)
    For Each slide In ActivePresentation.Slides
        slideIndex = slide.slideIndex
        
        ' 跳过第一页和最后一页
        If slideIndex > 1 And slideIndex < totalSlides Then
            ' 计算当前进度条的宽度
            progressWidth = ((slideIndex - 1) / (totalSlides - 2)) * ActivePresentation.PageSetup.SlideWidth
            
            ' 如果已经有名为“ProgressBar”的形状,则删除它(避免重复)
            On Error Resume Next
            slide.Shapes("ProgressBar").Delete
            On Error GoTo 0
            
            ' 添加进度条形状
            Set progressBar = slide.Shapes.AddShape(msoShapeRectangle, startX, startY, progressWidth, progressHeight)
            progressBar.Fill.ForeColor.RGB = RGB(0, 102, 204) ' 进度条颜色
            progressBar.Line.Visible = msoFalse ' 去除边框
            progressBar.Name = "ProgressBar" ' 命名进度条
            
            ' 设置渐变填充:从蓝色到绿色,效果 为水平向右
            With progressBar.Fill
                .OneColorGradient Style:=msoGradientVertical, Variant:=1, Degree:=1
                .ForeColor.RGB = RGB(0, 0, 255) ' 蓝色起始颜色
                .BackColor.RGB = RGB(0, 191, 255) ' 背景颜色设为绿色
            End With
            
        End If
    Next slide
End Sub

操作步骤及注意事项

  1. 在菜单栏找到“视图”中的“宏”并打开

在这里插入图片描述

  1. 一般情况列表中没有可加载的宏文件,我们随便输入一个名字,然后点击加号新建

在这里插入图片描述

  1. 删掉原先的两行代码,将文中示例代码复制粘贴并保存,随后关闭宏文件编辑界面。

在这里插入图片描述

  1. 再次打开宏文件入口,选择刚刚的宏文件,点击运用。

在这里插入图片描述

  1. 随后便能在幻灯片中看到如下效果。

在这里插入图片描述
在这里插入图片描述

  1. 记得将文件另存为 “启用宏的演示文稿”,再次打开时我们会见到如下提示,需选择启用宏。

在这里插入图片描述

注意事项

启用宏文件之后,在删减或者新增幻灯片时,进度条并不会更新,这是因为文中代码下的宏文件不会自动运行;变更后,需要手动打开再次运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值