在vba中,SlideShowTransition对象代表了幻灯片的切换效果。
通过SlideShowTransition对象可以设置幻灯片的切换效果、换片方式、自动换片时间、持续时间、换片声音等。
各种切换效果见这里。
以下vba代码对当前PPT中的第二个幻灯片的切换方式进行设置:
Sub QQ1722187970() Dim oSP As Shape Dim oPresentation As PowerPoint.Presentation Set oPresentation = PowerPoint.ActivePresentation Dim oSlide As Slide Dim oSST As PowerPoint.SlideShowTransition With oPresentation Set oSlide = .Slides(2) With oSlide Set oSST = .SlideShowTransition With oSST '不用单击换片 .AdvanceOnClick = msoFalse '设置自动换片 .AdvanceOnTime = msoTrue '设置自动换片时间,以秒为单位 .AdvanceTime = 5 '设置切换的速度 .Speed = ppTransitionSpeedMedium '设置切换的持续时间 .Duration = 3 '设置切换效果 .EntryEffect = ppEffectBoxDown End With End With End With End Sub
以下代码将所有幻灯片的换片方式都设置为自动间隔1秒换片:
Sub QQ1722187970() Dim oSP As Shape Dim oPresentation As PowerPoint.Presentation Set oPresentation = PowerPoint.ActivePresentation Dim oSlide As Slide Dim oSST As PowerPoint.SlideShowTransition With oPresentation For Each oSlide In .Slides With oSlide Set oSST = .SlideShowTransition With oSST '不用单击换片 .AdvanceOnClick = msoFalse '设置自动换片 .AdvanceOnTime = msoTrue '设置自动换片时间,以秒为单位 .AdvanceTime = 1 '设置切换的速度 .Speed = ppTransitionSpeedMedium '设置切换的持续时间 .Duration = 3 '设置切换效果 .EntryEffect = ppEffectBoxDown End With End With Next .SlideShowSettings.Run End With End Sub
如果要批量取消所有幻灯片的切换效果,可以通过设置EntryEffect属性为ppEffectNone(0)即可。
发表评论