通过具有动态幻灯片持续时间的脚本将 powerpoint 导出到 mp4
Export powerpoint to mp4 by script with dynamic slide duration
我想将很多 powerpoint 演示文稿导出为 mpeg4。使用 Powerpoint 中的现有功能,我可以设置每张幻灯片的持续时间或使用时间表。为了制定这个时间表,我必须点击演示文稿并记录我的点击次数,或者为每张幻灯片和动画设置一个时间,这是一项繁重的工作。
有什么方法可以创建一个脚本来定义鼠标点击持续时间吗?我想要一张没有动画的幻灯片出现 3 秒,一张有两个动画的幻灯片出现 9 秒 (slide + 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,我们可能会找到一些文档和教程)
我想将很多 powerpoint 演示文稿导出为 mpeg4。使用 Powerpoint 中的现有功能,我可以设置每张幻灯片的持续时间或使用时间表。为了制定这个时间表,我必须点击演示文稿并记录我的点击次数,或者为每张幻灯片和动画设置一个时间,这是一项繁重的工作。
有什么方法可以创建一个脚本来定义鼠标点击持续时间吗?我想要一张没有动画的幻灯片出现 3 秒,一张有两个动画的幻灯片出现 9 秒 (slide + 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,我们可能会找到一些文档和教程)