Powerpoint 重置动画并使用 VBA 跳转到另一张幻灯片

问题描述 投票:0回答:2

我正在尝试构建一个 PowerPoint 演示文稿,其中包含每张幻灯片都提供的目录。它由文本超链接组成,当在幻灯片视图中单击页面上的按钮时,文本超链接会从侧面滑入。单击目录中的链接时,需要发生两件事:演示文稿跳转到该幻灯片,并且动画“重置”,以便如果用户重新访问他们刚刚访问的页面,目录将不再显示出现在页面上(就好像它返回到起点,在视图之外)。

通常动画不会在 Powerpoint 中以这种方式“重置”,并且诸如按钮或链接之类的元素似乎只能分配一个操作(播放动画或跳转到幻灯片 - 不能两者兼而有之) 。但我也许可以使用相当于 onLoad 事件的 VBA 来实现这一点?

我认为可能有两条路线:

  1. 添加一个脚本,在加载页面时重置所有动画。演示文稿中没有其他动画会受到影响,如果可能的话,这可能是最简单的解决方案。
  2. 为目录中的超链接添加动作,以便它既重置动画又跳转到超链接。但这可能会出现问题,因为许多非高级用户将访问 PowerPoint 文件 - 他们将无法对任何脚本进行调整。
vba powerpoint office-addins
2个回答
0
投票

这样,如果用户重新访问他们刚刚来自的页面

他们将如何重新访问该页面?即,通过您提供的导航链接还是使用箭头键/键盘?如果是前者,您可以:

  • 在包含滑入式目录文本的幻灯片之前添加另一张幻灯片 (将其复制为带有文本的文本,但删除文本)。
  • 设置幻灯片自动过渡到下一张幻灯片, 0秒延迟后。

PowerPoint 将在到达幻灯片时重置动画,但前提是您是从上一张幻灯片到达的,而不是从后续幻灯片到达的。这个技巧强制从上一张幻灯片到达。


0
投票

这个 VBA 代码就可以解决问题:

Public Sub App_SlideShowNextSlide(ByVal Wn As SlideShowWindow)
  ActivePresentation.SlideShowWindow.View.ResetSlideTime
End Sub

但是,它会在任何页面转换(例如淡入淡出)后触发,这可能看起来很奇怪。

© www.soinside.com 2019 - 2024. All rights reserved.