如何解决通过具有动态幻灯片持续时间的脚本将Powerpoint导出到mp4
我想将许多PowerPoint演示文稿导出到mpeg4。使用Powerpoint中的现有功能,我可以设置每张幻灯片的持续时间或使用时间表。要制定此时间表,我必须单击演示文稿并记录我的点击次数,或者为每个幻灯片和动画设置时间,这是很多工作。
有什么方法可以创建可以定义鼠标单击持续时间的脚本?我希望没有动画的幻灯片显示3秒钟,例如,有两个动画的幻灯片显示9秒钟(幻灯片+ animation1 + animation2)。
我不想指定显示持续时间,而是一种点击持续时间...
有人知道这样的事情是否可能吗?
解决方法
这是一个VBA脚本,用于根据幻灯片上显示的动画数量为每张幻灯片设置“时间提前”设置。
For Each sld In ActivePresentation.Slides
animationCount = sld.TimeLine.MainSequence.Count
sld.SlideShowTransition.AdvanceOnTime = msoTrue
sld.SlideShowTransition.AdvanceTime = animationCount * 3 + 3
Next
ActivePresentation.CreateVideo "C:\SomePath\Filename.mp4",True
在此示例中,如果幻灯片上有动画,则在此行中,我们将时间设置为动画计数的3倍加3,如您的示例所示。如果我们有带有2个动画的幻灯片,则“时间提前”的持续时间将设置为2 * 3 + 3 = 9秒。根据您的需要进行更改。
sld.SlideShowTransition.AdvanceTime = animationCount * 3 + 3
最后一行允许您导出带有定时的视频。
这是另一个示例,您可以在其中指定不设置时间提前设置的无动画,但如果需要,则提供默认持续时间:
For Each sld In ActivePresentation.Slides
animationCount = sld.TimeLine.MainSequence.Count
If animationCount >= 1 Then
sld.SlideShowTransition.AdvanceOnTime = msoTrue
sld.SlideShowTransition.AdvanceTime = animationCount * 3 + 3
Else
sld.SlideShowTransition.AdvanceOnTime = msoFalse
End If
Next
ActivePresentation.CreateVideo "C:\SomePath\Filename.mp4",True,3
(如果您不熟悉VBA,我们可能会找到一些文档和教程)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。