ipqaixk 发表于 2017-5-3 11:28:15

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

        如何通过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对象。
  本代码适合于开发者所借鉴。

seesee 发表于 2017-5-3 21:02:46

很不错,找到组织了!
页: [1]
查看完整版本: 通过VBA中的Effect对象给PowerPoint动态添加动画效果