【发布时间】:2018-06-03 07:05:34
【问题描述】:
我想在一张幻灯片上选择多个形状,然后对所有选定的形状运行宏。例如:我想将形状的动画延迟时间增加给定值。 注意:某些形状可能有多个动画。
到目前为止,我得到了以下代码。它可以解决问题,但它适用于当前幻灯片上的所有形状。
Sub ActiveSlideShapes_DelayInc()
Dim osld As Slide
Dim i As Long
Dim a As Integer
Dim oeff As Effect
Const sngDel As Single = 0.1
Set osld = ActiveWindow.Selection.SlideRange(1)
For i = osld.TimeLine.MainSequence.Count To 1 Step -1
Set oeff = osld.TimeLine.MainSequence(i)
With oeff
.Timing.TriggerDelayTime = .Timing.TriggerDelayTime + sngDel
End With
Next i
End Sub
另一种解决方案是选择实际的 TimeLine 元素而不是形状。然后只对那些选定的动画执行“For...Next”循环。当某些形状附有几个不同的动画时,这将是更优雅的解决方案。这可以吗?
【问题讨论】:
标签: vba powerpoint