在PowerPoint演示文稿中,如何让图片在放映时自动往前往后移动?
我在做一个包含若干张小图片的PowerPoint演示文稿。放映时希望这些图片一个接一个地放大并移动到屏幕中央,实质上就是对每张图片逐一进行“放大查看”。我可以用动画实现;不过放大后的图片常常会出现在屏幕上其他较小的图片或对象之后。怎样才能在图片放大时把它们移到前景,等回到初始大小时再移回原来的层级?
我对Excel的 VBA了解不多,因此尝试在PowerPoint中写一个宏,想用Shape.ZOrder方法实现我想要的效果。不过我发现:(1) 使用此方法会重置幻灯片上的所有动画;(2) 我用来等待正确时机的代码(因为PowerPoint的 VBA似乎没有在特定动画触发宏的方式)导致动画不再正确地显示;我只能看到起始与结束状态,中间没有移动。下面是我最近尝试的迭代:
Sub Wait(tWait As Double)
Dim EndTime As Double
EndTime = Timer + tWait
Do While Timer < EndTime
DoEvents
Loop
End Sub
Sub IHopeThisWorks()
Dim ssv As SlideShowView
Set ssv = SlideShowWindows(1).View
ssv.GotoClick 1 ' Entrance animations
Wait 5
ActivePresentation.Slides(1).Shapes("Picture 5").ZOrder msoBringToFront
ssv.GotoClick 2 ' Zoom in on first image, pause, then zoom out again
End Sub
解决方案
我先前的回复其实来自一个现在已隐藏的帖子,因此我把它重新放在这里作为回答,因为原作者(OP)提到对他们有效。
使用Morph转换。先做一张包含所有图片的幻灯片,然后为你想要突出显示的每张图片各复制一张。对每一张复制的幻灯片应用Morph转换。
在每张复制的幻灯片上,将你想放大的图片移到前面。Morph不会自动把它移到前面。按个人喜好放大并定位图片。
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。