我正试图通过PowerPoint VBA中的动作按钮控制幻灯片动画。我设法使用sendKeys
导航到当前幻灯片中的下一个和上一个动画。
动作按钮基本上运行displayPrevious
和displayNext
宏,如下所示:
Sub displayPrevious()
SendKeys ("{LEFT}")
End Sub
Sub displayNext(ByRef oShp As Shape)
SendKeys ("{RIGHT}")
End Sub
但是,这会导致一个不需要的功能。在最后一个动画之后,下一个按钮切换下一个或上一个幻灯片。
我想做这件事的一种方法是,让下一个或上一个执行,如果是更改幻灯片,就不要运行sendkeys
。
或者也许我想错了,有一个更简单的解决方案吗?
最终找到了一个(有效但不完美(的解决方案。
基本上只是检查从getClickIndex
播放的当前动画,并将上一个与0
进行比较,将下一个与getClickCount
进行比较。
Sub displayPrevious()
If ActivePresentation.SlideShowWindow.View.GetClickIndex <> 0 Then
SendKeys ("{LEFT}")
End If
End Sub
Sub displayNext()
If ActivePresentation.SlideShowWindow.View.GetClickIndex <> ActivePresentation.SlideShowWindow.View.GetClickCount Then
SendKeys ("{RIGHT}")
End If
End Sub