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

如何在VBA中实现动画消失?,vba,powerpoint,Vba,Powerpoint,我试图在VBA程序中测试形状上的效果动画 我已经实现了在主序列中添加一些新动画,定义了时间轴中的哪个位置。。。但我无法创建消除效果的动画 我在代码的开头检查了一些已经存在的…并且EffectType似乎返回了与相关显示动画相同的值,因此我遗憾地认为在VBA中无法创建消隐动画 请告诉我我错了,我必须在300多张幻灯片上进行相同的创作…我找到的解决方案是在“效果”对象上使用“退出”属性 默认情况下,“Exit”属性是msoFalse。我不相信我有任何答案,但这里是 选择要消失的对象 转到动画选择淡出

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

我已经实现了在主序列中添加一些新动画,定义了时间轴中的哪个位置。。。但我无法创建消除效果的动画

我在代码的开头检查了一些已经存在的…并且EffectType似乎返回了与相关显示动画相同的值,因此我遗憾地认为在VBA中无法创建消隐动画


请告诉我我错了,我必须在300多张幻灯片上进行相同的创作…

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


默认情况下,“Exit”属性是msoFalse。

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

  • 选择要消失的对象
  • 转到动画选择淡出(红色)
  • 打开动画窗格
  • 转到对象的单击下菜单
  • 选择效果选项
  • 进入定时菜单
  • 点击触发器
  • 单击“单击开始效果”,并找到与动画面板上的对象编号匹配的对象编号
  • 工作完成了

  • 是的,你是错的,但是这是。。。我想你已经知道了

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

    它将向当前幻灯片中的最后一个形状添加消失动画,作为主序列中的最后一个形状,与上一个动画延迟1.0秒。

    您是否尝试录制宏并手动执行此操作,以查看宏影响哪些属性?@Grade'Eh'Bacon我不知道PowerPoint也有宏录制器。我认为只有Excel才有这个好的选择。您能帮我在PowerPoint中找到它吗?假设您有office 2007或更高版本,PowerPoint的位置与Excel相同-View Ribbon>宏。@Grade'Eh'Bacon 2007之前PowerPoint中似乎有一个宏记录器(但没有了)。我可以肯定的是,在我的2016版Office中没有这样的按钮。@Ralph啊,我很抱歉-我在工作中使用Office 2007,所以我不知道这已经改变了。很遗憾他们会把它拿走;不知道他们为什么会这样。此链接可能有一些信息可以帮助您回答问题:您是否注意到它是关于VBA解决方案的?