-1
'declare Variables 
Dim osld As Slide
Dim oshp As Shape
Dim oeff As Effect

' SET objects
Set osld = ActivePresentation.Slides(7)
Set oshp = osld.Shapes("Star 1")
Set oeff = osld.TimeLine.MainSequence.AddEffect(Shape:=oshp, effectid:=msoAnimEffectChangeFillColor)

With oeff
.EffectParameters.Color2.RGB = RGB(Red:=10, Green:=45, Blue:=201)
.Timing.Duration = 2
End With

oshp.Left = oshp.Left + 100 ' Added to verify something was coming thru!

可悲的是它仍然不起作用......它可以编译,但对幻灯片没有影响......

我已更新代码以显示您的建议

注意:填充颜色是在创建形状时定义的

我在形状的左侧值上添加了 + 100,以确保它实际上是通过的,它确实移动但不会改变颜色......

是否有“官方”列表说明哪些效果支持哪些参数?

感谢您与我一起度过这个难关!:)

4

1 回答 1

1

我理解您的沮丧:正如我在评论中提到的,该Color1属性在 PowerPoint 2010 中不存在,但文档中给出的示例Color2确实使用Color1了——因此,它无法编译!

正确的方法是给形状一个颜色,像这样:

oshp.Fill.ForeColor.RGB = RGB(Red:=0, Green:=0, Blue:=255)

这将是起始颜色。然后动画效果可以更改该颜色:

With oeff
    .EffectParameters.Color2.RGB = RGB(Red:=0, Green:=255, Blue:=255)
    .Timing.Duration = 2
End With

请注意,这Timing是 的属性Effect,而不是EffectParameters您问题中给出的代码中的属性。

于 2012-08-29T07:15:42.547 回答