在vba中添加powerpoint 2010效果(增长/收缩)

时间:2014-07-28 15:29:35

标签: vba ms-office powerpoint powerpoint-vba

总体思路是用户从下拉菜单中选择一些内容,然后根据他们的选择增加形状。我能够得到下拉列表并确定我需要增长/缩小的形状,但不能添加增长。

Set myDocument = ActivePresentation.Slides(2)
Dim myShape As Shape

myShape = myDocument.Shapes("Illinois")

Dim oEffect As Effect

Set oEffect = myDocument.TimeLine.MainSequence.AddEffect(Shape:=myShape,     effectid:=msoAnimEffectGrowShrink)

With oEffect
.EffectParameters.Size = 30
.EffectType = msoAnimEffectGrowShrink
.Timing.Duration = 2
End With

错误是对象变量或未设置块。 谢谢!

1 个答案:

答案 0 :(得分:2)

由于myShape是对象变量,因此在分配时需要使用Set关键字。

Set myShape = myDocument.Shapes("Illinois")

  

诸如myDocument.Shapes(“Illinois”)之类的语句。高度也可以执行

那是因为.Height是一个非对象属性,在没有关键字的情况下分配,例如你可能已经分配给.Height,如下所示:

myDocument.Shapes("Illinois").height = 300

但是在引用形状本身时,你确实需要它作为Set关键字的对象。