如何在VBA中实现消失动画?

4
我正在尝试在VBA过程中测试形状的效果动画。
我已经实现了一种方法,即在MainSequence中添加一些新的动画,定义在Timeline的哪个位置...但我无法创建消失动画。
我在代码开头检查了一些已经存在的动画...EffectType似乎返回与相关出现动画相同的值,所以我很遗憾认为在VBA中没有创建消失动画的方法。
请告诉我我错了,因为我需要在300多张幻灯片上做同样的操作...

你尝试过录制宏并手动执行此操作,以查看宏影响的属性吗? - Grade 'Eh' Bacon
@Grade'Eh'Bacon,我不知道PowerPoint也有宏录制器。我以为只有Excel有这个很棒的选项。你能帮我在PowerPoint中找到它吗? - Ralph
假设您拥有2007年或更高版本的Office,PowerPoint中的位置与Excel相同 - 查看选项卡>宏。 - Grade 'Eh' Bacon
@Grade'Eh'Bacon https://support.office.com/zh-cn/article/%E5%AE%8F%E8%A7%86%E5%B9%95%E5%BD%95%E5%88%B6%E5%99%A8%E4%BD%BF%E7%94%A8%E6%96%B9%E5%BC%8F-cad40737-3c4d-4640-8263-6f6999b3b31b http://answers.microsoft.com/zh-cn/office/forum/office_2007-powerpoint/powerpoint-2010%E6%98%AF%E5%90%A6%E5%8C%85%E5%90%AB%E5%BD%95%E5%88%B6%E5%AE%8F%E8%A7%86%E5%B9%95/18268723-ede5-47e4-b776-0c714681d580?auth=1 在 PowerPoint 2007 之前,似乎有宏录制器(但现在没有了)。我能确定的是,在我的 Office 2016 版本中没有这样的按钮。 - Ralph
1
@Ralph 啊,抱歉 - 我在工作中使用的是Office 2007,所以不知道这个已经改变了。很遗憾他们会删除它; 不确定为什么他们会这样做。这个链接可能有一些信息可以帮助你解决你的问题:http://answers.microsoft.com/en-us/office/forum/officeversion_other-customize/vba-add-an-animation-and-then-delete-the-shapes/e546fd64-fc01-4ce1-b356-0af1a167145e?auth=1 - Grade 'Eh' Bacon
该链接仅涉及“正面”EffectId,即出现动画。他们使用Visible字段使形状消失...当我想添加一个消失效果(例如淡入淡出)时... - Stephane Lebertre
3个回答

3

是的,你错了,然而关于这个的文档…嗯,我猜你已经知道了。

这是一个技巧。要添加一个消失动画,你需要添加出现动画,但将它的“退出”属性设置为“msoTrue”。

看一下这个代码示例:

Private Sub SetAnimation()
    Dim effNewEffect As Effect

    With ActiveWindow.View.Slide
        Set effNewEffect = .TimeLine.MainSequence.AddEffect(.Shapes(.Shapes.Count), msoAnimEffectAppear, trigger:=msoAnimTriggerWithPrevious, Index:=-1)
    End With
    effNewEffect.Timing.TriggerDelayTime = 1.0
    effNewEffect.Exit = msoTrue
End Sub

它会在当前幻灯片中的最后一个形状上添加一个消失动画,并将其作为MainSequence中的最后一个动画,延迟1.0秒到前一个动画。

0
我找到的解决方案是在“Effect”对象上使用“Exit”属性。
默认情况下,“Exit”属性为msoFalse。

-1

真不敢相信我居然有答案,但是这里就是了。

  1. 选择要消失的对象
  2. 进入动画并选择淡出(红色)
  3. 打开动画窗格
  4. 进入对象的下拉菜单
  5. 选择“效果选项”
  6. 进入时间菜单
  7. 点击触发器
  8. 点击“在单击时启动效果”,找到与动画面板上的对象编号匹配的编号。
  9. 完成了。

1
你注意到它是关于VBA解决方案的吗? - Ister

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接