利用VBA在PowerPoint添加自定义动画路径
利用VBA在PowerPoint添加自定义动画路径原创:FinalSoldier (令狐虫),本人做了部分修改。
[*]
[*]Sub AddMotionPath3()
[*] Dim shpNew As Shape
[*] Dim effNew As Effect
[*] Dim aniMotion As AnimationBehavior
[*] Set shpNew = ActivePresentation.Slides(1).Shapes _
[*] .AddShape(Type:=msoShape5pointStar, Left:=10, _
[*] Top:=0, Width:=100, Height:=200)
[*] Set shpNew = ActivePresentation.Slides(1).Shapes(3)
[*] Set effNew = ActivePresentation.Slides(1).TimeLine.MainSequence _
[*] .AddEffect(Shape:=shpNew, effectId:=msoAnimEffectCustom, _
[*] Trigger:=msoAnimTriggerOnPageClick)
[*] Set aniMotion = effNew.Behaviors.Add(msoAnimTypeMotion)
[*] With aniMotion.MotionEffect
[*] .Path = "M 0 0 L 0.1 0.05 L 0.2 -0.15 L 0.3 -0.05 L 0.4 -0.15 L 0.5 -0.05 L 0.6 -0.15 L 0.7 -0.05 L 0.8 -0.15 L 0.9 -0.05 L 1.0 -0.15 L 0.9 -0.05 L 0.8 -0.15 L 0.7 -0.05 L 0.6 -0.15 L 0.5 -0.05 L 0.4 -0.15 L 0.3 -0.05 L 0.2 -0.15 L 0.1 0.05 "
[*] End WithEnd Sub
复制代码
1.放映时,新增加的形状不可见,只有进行动画时该形状才可见,
2.动作路径不可见,但动作路径是对的。
改的部分:
原作是“.Path = "M 0 0 L 0.17014 0.05157 L 0.27761 -0.15518 L 0.36268 -0.04972 L 0.42987 -0.10338 " ”。
本人是".path=”是现在的。我想让这个图形能来回,当然要是能设置像正弦函数、余弦函数图像曲线、圆曲线、椭圆方程曲线就好了。希望后来者能更好的实现。
感谢原作者。 这个。。。。。好难!! 技术含量太高 在Path语法中,大写代表相对位置,小写代表绝对位置。
例如:M 0 0 就意味着从形状的中心位置开始,但是m0 0 就意味着从幻灯片的左上角开始。
类型 语法 备注
移动 M M StartPoint
直线 L E EndPoint
曲线 C "C ControlPoint1
ControlPoint2EndPoint" 三次贝兹曲线
闭合 Z Z
结束 E E
详见【灰师太】PPT动画大师 #8设置行为和属性行为
技术活啊!!!
页:
[1]