找回密码
 立即注册
搜索

通过VBA中的Effect对象给PowerPoint动态添加动画效果

1
回复
952
查看
[复制链接]

2

主题

8

帖子

55

幻币

一流武者

Rank: 3Rank: 3

积分
311
QQ
2017-5-3 11:28:15 显示全部楼层 |阅读模式
        如何通过VBA程序代码,给演示文稿PowerPoint中的对象动态的添加动画效果?
  下面是一个实例,希望对您有所启发。 
  本例:在当前演示文稿的第一张幻灯片中添加一个形状,并为该形状添加一种效果和一个动作。
  Sub MyNewShapeAndEffect()'动态添加一个图形
  Dim shpStar As Shape
  Dim sldOne As Slide
  Dim effNew As Effect
  Set sldOne = ActivePresentation.Slides(1)
  Set shpStar = sldOne.Shapes.AddShape(Type:=msoShape5pointStar, Left:=150, Top:=72, Width:=400, Height:=400)
  Set effNew = sldOne.TimeLine.MainSequence.AddEffect(Shape:=shpStar, EffectId:=msoAnimEffectStretchy, Trigger:=msoAnimTriggerAfterPrevious)
  With effNew
   With .Behaviors.Add(msoAnimTypeScale).ScaleEffect
    .FromX = 75
    .FromY = 75
    .ToX = 0
    .ToY = 0
   End With
   .Timing.AutoReverse = msoTrue
   End With
  End Sub
  若要引用现有的 Effect对象,请使用MainSequence(index),其中 index 是 Effect对象在Sequence集合中的编号。本示例更改第一个序列的效果并为该效果指定动作。
  Sub MyChangeEffect()
  With ActivePresentation.Slides(1).TimeLine _
.MainSequence(1)
.EffectType = msoAnimEffectSpin
With .Behaviors(1).RotationEffect
.From = 100
.To = 360
.By = 5
End With
  End With
  End Sub
  不管幻灯片是否有动画,每张幻灯片中至少有一个 Effect对象。
  本代码适合于开发者所借鉴。

PPT学习论坛
回复

使用道具 举报

0

主题

18

帖子

113

幻币

一流武者

Rank: 3Rank: 3

积分
277
QQ
2017-5-3 21:02:46 显示全部楼层
很不错,找到组织了!
PPT学习论坛
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册