分享

【VBA应用】PPT实现“鼠标接触触发动画”效果丨教程 实例

 李珂consilpa3m 2018-05-15
本帖最后由 丨阿∝呆丨 于 2011-5-29 19:51 



文章/Zaoeyo    编辑/阿呆   

      昨天阿呆发了【Zaoeyo S.C作品】经典传奇——《蝙蝠侠6:黑暗骑士介绍界面PPT》,作品中用了最新的一个VBA代码,该代码能够实现“鼠标接触物体后触发动画效果”,下面介绍这个VBA代码。很多人都在问有没有什么好方法能够实现,鼠标移到一个按钮上,然后出现按钮的内容。之前,我们是用“鼠标接触物体后,跳至某一幻灯片”的方法来模拟这个效果,即:第一张是一个按钮,第二张按钮旁边多了按钮的内容,那么从第一张跳至到第二张后,给人的效果就是按钮旁边出现了按钮的内容。那么,现在我们可以用以下VBA代码来实现“鼠标移过物体,触发动画”的效果。
        Sub tap ()
        SendKeys '{TAB}'
        SendKeys '{ENTER}'
        End Sub(注:该代码是由PowerPoint Heaven的Microsoft MVP:John 提供)
〓代码解释〓
Sub XXX ()
        /意思为:给这个宏代码取名XXX。
SendKeys “{XXX}”
        /意思为:执行键盘上的某个按键,这个代码Sendkeys的中文意思就是“送按键”,例如SendKeys”{Enter}”,代表:执行这个宏后,自动执行键盘上的回车键(无需使用者自行敲击)。
End Sub
        /意思为:这个宏的代码编写结束。
那么,那么代码:
        Sub tap ()
        SendKeys '{TAB}'
        SendKeys '{ENTER}'
        End Sub
        意思就是执行TAB按键和Enter按键。你想想看,当一个普通的幻灯片,按了回车键以后,它是不是会执行“单击时”的动画?而在PowerPoint中的“动作”对话框中的“鼠标接触”选项卡内,有个“宏”的复选框,那么我们就可以将这个宏代码设置于此,那么接触设置了这个动作的物体,播放幻灯片,鼠标移到该物体上就会触发这个宏代码,效果就好像按了Enter键一样,那么幻灯片就会执行第一个“单击时”到第二个“单击时”之间的动画(包括第一个“单击时”动画)。这就实现了“鼠标接触物体后触发动画效果”。
        而TAB意思是“下一个”,那么代码:
        SendKeys '{TAB}'
        SendKeys '{ENTER}'
        意思为执行第一个单击时到第二个单击时之间的动画。
        SendKeys '{TAB}'
        SendKeys '{TAB}'
        SendKeys '{ENTER}'
        意思为执行第二个单击时到第三个单击时之间的动画。
        SendKeys '{TAB}'
        SendKeys '{TAB}'
         …………总共有n个
        SendKeys '{ENTER}'
        执行第n个到第n+1个单击时之间的动画。
        那么我们如何在自定义动画内设置动画来制作自己想要的鼠标接触触发动画呢?
        通过空物件(Null Object,AfterEffects后期制作软件的一个概念,这里引用在PPT中)作为触发器,触发器下方的动画就是幻灯片内某一个物体的鼠标接触触发动画。
        这个空物件也就是任意一个不在幻灯片放映区域的图形,例如一个在幻灯片放映区域外部的一个矩形,我叫它S1。假设幻灯片上有一个按钮图形,我叫它B1,然后旁边有另外一个文本框,称它为T1,里面写着“主页”,我们想实现鼠标接触按钮后,主页两个字出现。
〓操作步骤〓
        首先创建一个空物件:在幻灯片放映区域外画一个矩形S1。
        在幻灯片内画一个按钮(一个圆形就可以)和文本框并输入“主页”,文本框至于按钮下。
        给文本框添加一个进入类型的动画,随便什么都行,速度设置为0.5~1s,例如0.5秒。
        然后再给它添加一个退出类型的动画,随便什么都行,速度同样为0.5~1s,例如0.5秒,然后设置计时内容:“之前”、延迟0.5秒。
        将这两个动画设置触发器,触发器为那个空物件S1。
        然后进入VBA编辑窗口,输入:
        Sub tap ()
        SendKeys '{TAB}'
        SendKeys '{ENTER}'
        End Sub
        那么就创建了一个名字为tap的宏。
        假设是PowerPoint 2003版,在按钮上单击鼠标右键——动作设置——鼠标移过——宏——tap——确定。
        假设是PowerPoint 2007版,选中按钮,展开“插入”选项卡——动作——鼠标移过——宏——tap——确定。
        播放幻灯片,将鼠标移到按钮上,你就会发现文字会出现,而且过0.5秒后就会消失,其实这个文本框就是执行了空物件S1的触发动画。
        注意:设置了“动作”的物体一定要“置于顶层”。
        我们利用这个代码所给与的效果,就可以极大地将PPT向Flash靠拢,PPT游戏和介绍界面常用这个代码,虽然现在可能只有Zaoeyo一个人这么用,但是它的潜力还是很大的!
        注意:播放PPT之前,请进入PPT编辑界面,然后进入“幻灯片放映”选项卡中的“设置幻灯片放映”,将其中的“使用图形硬件加速”打上勾,不然播放PPT会卡。 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多