我正在尝试使用 Microsoft Office PowerPoint 中的 VBA 在图片中添加浮动入口效果。
我希望动画中的漂浮物朝向下方向移动
这是我的代码:
Sub add_pic_float_in()
' Insert the Picture
Set myDocument = ActivePresentation.Slides(1)
myDocument.Shapes.AddPicture FileName:="C:\Users\forson\Pictures\Picture.svg", LinkToFile:=msoTrue, SaveWithDocument:=msoTrue, _
Left:=a * 10, Top:=-1000, Width:=359.055, Height:=1284.803
' Crop the Image
With myDocument.Shapes(1)
.Name = "Picture 1"
.PictureFormat.CropLeft = 140
.PictureFormat.CropRight = 130
.PictureFormat.CropTop = 650
End With
' Create shape
Dim picture As Shape
Set picture = myDocument.Shapes(1)
' Create Effect
Dim floatin As Effect
' Set Effect to Picture
Set floatin = myDocument.TimeLine.MainSequence.AddEffect(Shape:=picture, effectId:=msoAnimEffectFloat)
floatin.Timing.Duration = 1
floatin.EffectParameters.Direction = msoAnimDirectionDown
floatin.Timing.TriggerType = msoAnimTriggerWithPrevious
End Sub
但是,我遇到了这个错误:
“运行时错误”:'-2147188160 (80048240)':EffectParameters(未知成员):无效请求。”
当我删除“floatin.EffectParameters.Direction = msoAnimDirectionDown”行时,它会生成一个带有动画的对象,但它不是“浮动”动画。
将
effectId:=msoAnimEffectFloat
设置为 effectId:=msoAnimEffectDescend
可创建向下浮动动画。
无需指定
.EffectParameters.Direction
我刚刚发现 VBA 会识别
effectId:=msoAnimEffectAscend
来创建经典的“浮动”动画 :D