如何创建PowerPoint宏,实现关闭后重开演示文稿时按上次浏览位置跳转幻灯片?
PowerPoint打开自动跳转指定幻灯片宏实现方案
你需要先启用PPT的宏功能,且将文件保存为启用宏的格式,才能让以下逻辑正常运行:
步骤1:添加关闭事件,记录上次最后浏览的幻灯片序号
按Alt + F11调出VBA编辑器,在左侧工程资源管理器中双击ThisPresentation对象,粘贴以下代码:
Private Sub Presentation_Close() Dim lastSlideIndex As Integer lastSlideIndex = ActiveWindow.View.Slide.SlideIndex ' 将序号写入自定义文档属性,下次打开可直接读取 On Error Resume Next ActivePresentation.CustomDocumentProperties("LastSlideIndex").Value = lastSlideIndex If Err.Number <> 0 Then ' 首次运行无对应属性则新建 ActivePresentation.CustomDocumentProperties.Add _ Name:="LastSlideIndex", _ LinkToContent:=False, _ Type:=msoPropertyTypeNumber, _ Value:=lastSlideIndex End If On Error GoTo 0 ActivePresentation.Save End Sub
步骤2:添加打开事件,按规则跳转幻灯片
继续在ThisPresentation的代码编辑区粘贴以下代码:
Private Sub Presentation_Open() Dim targetIndex As Integer Dim lastSlideIndex As Integer ' 读取上次保存的幻灯片序号,读取失败默认赋值为0 On Error Resume Next lastSlideIndex = ActivePresentation.CustomDocumentProperties("LastSlideIndex").Value If Err.Number <> 0 Then lastSlideIndex = 0 End If On Error GoTo 0 ' 按需求判断跳转逻辑 If lastSlideIndex >= 7 Then targetIndex = 7 Else targetIndex = 1 End If ' 执行跳转 ActiveWindow.View.GotoSlide SlideIndex:=targetIndex End Sub
注意事项
- 保存文件时必须选择
启用宏的演示文稿(*.pptm)格式,否则VBA代码会被自动清除 - 打开文件时需要点击「启用宏」选项,否则跳转逻辑不会生效
- 若演示文稿总页数不足7张,跳转时会自动适配到最后一张有效幻灯片,不会出现报错
内容的提问来源于stack exchange,提问作者arif hussain
相关产品推荐
相关产品推荐

