【问题标题】:How to implement disappearing animations in VBA?如何在 VBA 中实现消失的动画?
【发布时间】:2016-06-27 01:05:28
【问题描述】:

我正在尝试在 VBA 程序中测试形状上的效果动画。

我已经实现了在 MainSequence 中添加一些新动画,定义 Timeline 中的哪个位置...但我无法创建消失的动画。

我检查了一些已经存在的代码的开头...并且 EffectType 似乎返回与相关出现动画相同的值,所以我很遗憾地认为没有办法在 VBA 中创建消失的动画。

请告诉我我错了,我必须在 300 多张幻灯片上做同样的创作...

【问题讨论】:

  • 您是否尝试过录制宏并手动执行此操作,以查看宏会影响哪些属性?
  • @Grade'Eh'Bacon 我不知道 PowerPoint 也有宏记录器。我认为只有 Excel 有这个很好的选择。您能帮我在 PowerPoint 中也找到它吗?
  • 假设您有 Office 2007 或更高版本,它在 PowerPoint 和 Excel 中的位置相同 - 查看功能区 > 宏。
  • @Grade'Eh'Bacon support.office.com/en-us/article/… answers.microsoft.com/en-us/office/forum/office_2007-powerpoint/… 在 2007 年之前的 PowerPoint 中似乎有 宏记录器(但没有更多)。我可以肯定地说是不是在我的 Office 2016 版本中没有这样的按钮。
  • @Ralph 啊,我很抱歉 - 我在工作中使用 Office 2007,所以不知道这已经改变了。他们将其删除是一种耻辱。不知道他们为什么会。此链接可能有一些信息可以帮助您解决问题:answers.microsoft.com/en-us/office/forum/…

标签: vba powerpoint


【解决方案1】:

是的,你错了,但是文档是......好吧,我想你已经知道了。

这就是诀窍。要添加消失动画,您必须添加出现动画,但将其 'Exit' 属性设置为 '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

它将在当前幻灯片中的最后一个 Shape 中添加一个 Disappear 动画,作为 MainSequence 中的最后一个,与上一个动画延迟 1.0 秒。

【讨论】:

    【解决方案2】:

    我找到的解决方案是在“效果”对象上使用“退出”属性。

    “退出”属性默认为 msoFalse。

    【讨论】:

      【解决方案3】:

      不敢相信我有任何答案,但这里是。

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

      【讨论】:

      • 你注意到它是关于 VBA 解决方案的吗?
      猜你喜欢
      • 2011-12-13
      • 1970-01-01
      • 2018-11-16
      • 1970-01-01
      • 2021-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-07
      相关资源
      最近更新 更多