如何在点击图片放大放小的同时出现动画效果
现在的代码是点击图片放大或缩小,想在加入代码让图片放大或缩小的同时加入自定动画效果,比如旋转等,恳请帮助,谢谢!
自己七拼八凑,算是基本达到了效果。
顶上去,期待高手出手。 高手哪去啦?期待您的援手! 被遗忘了,顶上去,继续寻求高手帮助解决,谢谢!
应该能满足你。
[*]'Option Explicit '要求变量声明
[*]Dim ZoomOut As Boolean '缩放
[*]Dim sldW, sldH As Single
[*]Dim shpW, shpH, shpL, shpT As Single
[*]Sub effe()
[*] Dim shp1 As Shape
[*] Dim sld As Slide
[*] Set sld = ActivePresentation.Slides(1)
[*] Set shp1 = sld.Shapes("Picture 8")
[*] Set eff = sld.TimeLine.MainSequence.AddEffect(Shape:=shp1, effectId:=msoAnimEffectBlinds, Trigger:=msoAnimTriggerWithPrevious)
[*] ShapesScaling shp1
[*]End Sub
[*]
[*]Sub ShapesScaling(ByVal shp As Shape)
[*] '获取幻灯片的宽度与高度
[*] With Application.ActivePresentation.PageSetup
[*] sldW = .SlideWidth
[*] sldH = .SlideHeight
[*] End With
[*]
[*] '防止幻灯片播放过程中意外终止 但图片处于放大状态
[*] If shp.Width = sldW And shp.Height = sldH Then ZoomOut = True
[*] If ZoomOut = True Then '缩小
[*] ZoomOut = Not ZoomOut
[*] '还原图形大小
[*] 'Call dhxg
[*] With shp
[*] .Left = shpL
[*] .Top = shpT
[*] .Width = shpW
[*] .Height = shpH
[*] End With
[*] Else '首次单击触发放大 ZoomOut初始为false
[*] ZoomOut = Not ZoomOut
[*] '保存图形原来的左顶宽高
[*] With shp
[*] shpL = .Left
[*] shpT = .Top
[*] shpW = .Width
[*] shpH = .Height
[*] End With
[*] '放大图形至全屏 并置顶
[*] 'Call dhxg
[*] With shp
[*] .Left = 0
[*] .Top = 0
[*] .Width = sldW
[*] .Height = sldH
[*] .ZOrder msoBringToFront
[*] End With
[*] End If
[*] End Sub
复制代码
你是chuhaiou吧,我帮你好几次了!
谢谢,测试了一下,基本上实现了VBa中指定了某个shape的效果,如何变成将任一页上的任意一个图片的动作设置为运行此宏,就能在这个图片上显示此动画效果。 对ppt vba不熟悉,能力不够,反复折腾弄不出来,请高手援手,先行谢过! 很早以前就想实现这个效果
期待高手帮助实现。我觉得可以借助“PPT放映时可任意拖拉图片”的思路解决,但苦于能力不够,自己扑腾不出。
页:
[1]
2