我正在做一个幻灯片放映,所有的幻灯片都设置了“从左推”的过渡。我将在每张幻灯片中插入一个按钮以返回到上一张幻灯片,当按钮被按下时,我想将过渡切换到“从右按”,转到上一张幻灯片,然后再次将过渡设置为“从左按”。我写了这个,但它不起作用:
Sub previousslide()
With ActivePresentation.SlideShowWindow.View
.Slide.SlideShowTransition.EntryEffect = ppEffectPushRight
.GotoSlide (ActivePresentation.SlideShowWindow.View.Slide.SlideIndex - 1)
.Slide.SlideShowTransition.EntryEffect = ppEffectPushLeft
End Sub谢谢
发布于 2016-12-16 23:43:33
您缺少“End With”来完成With-End With块。此外,我会跳过引用ActivePresentation对象,因为它只有在存在活动演示文稿时才会起作用。如果在运行.PPSX/.PPSM文件时运行上述代码,则代码将失败。下面的代码删除了引用。
Sub PreviousSlide()
With SlideShowWindows(1).View
.Slide.SlideShowTransition.EntryEffect = ppEffectPushRight
.GotoSlide (SlideShowWindows(1).View.Slide.SlideIndex - 1)
.Slide.SlideShowTransition.EntryEffect = ppEffectPushLeft
End With
End Sub发布于 2018-06-15 00:30:09
下面是引用幻灯片的另一种方式:
Presentations.Item(#).Slides(#).SlideShowTransition.EntryEffect
无论幻灯片是否正在运行,都应该用您想要的从1开始的索引号来替换octothorps
此外,我还发现代码API应用了与GUI不同的转换样式
发布于 2020-05-26 21:19:21
我也在做同样的事情。如果您在幻灯片x上并转到上一张幻灯片,您需要做的是将幻灯片x-1的幻灯片过渡设置为“从右推”。如果你要转到下一张幻灯片,你需要将幻灯片x+1的过渡设置为“从左推”。
Sub previousSlide()
' Define previous slide index
Dim previousSlide As Integer
previousSlide = ActivePresentation.SlideShowWindow.View.Slide.SlideIndex - 1
' Change slide transition of previous slide
ActivePresentation.Slides.Range(previousSlide).SlideShowTransition.EntryEffect = ppEffectPushRight
' Previous slide
ActivePresentation.SlideShowWindow.View.GotoSlide (previousSlide)
End Sub奇怪的是,我注意到如果幻灯片开始时没有动画,使用此代码设置动画将不起作用。动画必须手动预先设置为幻灯片动画,然后此代码才能工作。奇怪的是。
https://stackoverflow.com/questions/41183769
复制相似问题