如何在播放PPT时自动运行宏

fool_tiger 发表于: 2009-6-12 10:50 来源: 扑奔PPT网

我想在播放到某张PPT时,自动运行一个宏,不需要点击任何按钮.
怎么做呢?
大家对 如何在播放PPT时自动运行宏 的评论
duizhang 发表于 2009-6-12 18:03:15
动作  自动播放~
intruder_ppt 发表于 2009-6-13 10:51:53
嗯,我对这个问题也很想知道呀,希望高手指点呀。 楼上被扣分,应该。
(我会不会被扣分?)
yinguobiao 发表于 2009-6-13 13:18:37
在office2007中,点击左上角office2007按钮-----PowerPoint选项-----信任中心-----信任中心设置------宏设置------点选--启用所有宏。
不知能不能满足你。
laose 发表于 2009-6-13 13:27:40
对此问题,我并不我完全清楚,不过可以给你个自动画圆的小例子

11 KB, 下载次数: 154)

amwyq 发表于 2009-6-13 13:28:53

QUOTE:

原帖由 intruder_ppt 于 2009-6-13 10:51 发表
嗯,我对这个问题也很想知道呀,希望高手指点呀。 楼上被扣分,应该。
(我会不会被扣分?)
按说你的回复已经可以扣分了,只要回复与本问题无关的内容,原则上就要扣分,我们想通过这种办法减少在本区的灌水帖,提高解答问题的质量。。。
amwyq 发表于 2009-6-13 13:32:37

QUOTE:

原帖由 yinguobiao 于 2009-6-13 13:18 发表
在office2007中,点击左上角office2007按钮-----PowerPoint选项-----信任中心-----信任中心设置------宏设置------点选--启用所有宏。
不知能不能满足你。
肯定不是楼主想得到的答案
intruder_ppt 发表于 2009-6-14 08:25:26
我很不想说废话,可是那个自动画圆是怎么弄出来的呀?我没有看到任何“宏”呀,怎么弄的呀?
intruder_ppt 发表于 2009-6-14 08:36:47
呵呵,弄明白了,是使用了 OnSlideShowPageChange ,学习了。
上网搜索下,发现还有个家伙也可以使用,就是:OnSlideShowTerminate。
一、OnSlideShowPageChange宏的使用

下面我们来研究一下这两个宏的功能与运行的条件。先来看OnSlideShowPageChange宏,我们新建一个演示文稿,并把PowerPoint宏的安全级别设置为启用全部宏,在演示文稿中添加几张幻灯片,为便于测试说明,从第一张幻灯片开始,我们按顺序给它们输入数字编号“1、2、3、4……”,再按Alt+F11快捷键启动VBA编辑器,在其中插入一个模块,向代码窗口中输入如下代码:

Sub OnSlideShowPageChange()

   MsgBox "I love you, PowerPoint."

End Sub

点击“保存”按钮,保存文档,文件名如Test.ppt(PowerPoint 2007中为Test.pptm),返回幻灯片编辑视图,按F5键进行放映,我们首先会看到一个显示“I love you, PowerPoint.”的消息框,点击确定后,放映第一张幻灯片,再点击鼠标左键,放映到第二张,也会出现同样的消息框,后面各张的放映的情形也是这样。这说明我们的宏在放映时及放映过程中被正确地执行了,还说明这个宏是在放映时就自动运行,以后只要有幻灯片切换都会被激发而运行。根据它的特性,只要是在幻灯片放映开始时就要完成的任务,或是放映过程中需要不断重复做的处理都可以交给它来完成。同时,这个宏也很适合用来对PowerPoint放映环境进行初始化设置,不过应做一下改进,因为初始化只需要一次,反复做会浪费系统资源,改进后的示例代码如下:

Sub OnSlideShowPageChange()

    If ActivePresentation.SlideShowWindow.View.CurrentShowPosition = 1 Then

        MsgBox "I love you, PowerPoint."

    End If

End Sub

再保存后运行,怎么样,是不是只在放映开始时出现一次消息框,以后幻灯片再切换就看不到消息框了,我们的目的达到了,今后在实际开发中只是放映过程中要反复执行的代码块就放在Sub OnSlideShowPageChange()和End Sub之间,即代替掉“If Then End If”语句块,凡是开始放映时只需运行一次的代码块就放在    If ActivePresentation.SlideShowWindow.View.CurrentShowPosition = 1 Then和End If之间,即把MsgBox "I love you,PowerPoint."语句替换成我们自己的代码块就行了。

二、OnSlideShowTerminate宏的使用

现在我们再来研究一下OnSlideShowTerminate宏的用法,还是用前面建立的PowerPoint实列文档Test.ppt,打开文档后在VBA编辑器窗口中输入下面的代码:

Sub OnSlideShowTerminate()

    MsgBox "Good bye, and take care!" "

End Sub

保存后返回PowerPoint幻灯片编辑视图,按F5进行放映,在放映开始出现显示“I love you, PowerPoint.”消息框,这是OnSlideShowPageChange宏的功劳,前面已讲过,点“确定”后继续播放直至结束,我们又会看到一个写着“Good bye, and take care!”的消息框,现在是OnSlideShowTerminate宏在起作用。由此我们可以看出,OnSlideShowTerminate宏只在结束幻灯片放映时被激活发挥作用,用它我们可以处理放映完成后的环境清理工作,只要把我们的相关代码放在Sub OnSlideShowTerminate()和End Sub中间替换掉MsgBox "Good bye, and take care!"语句就OK了。
wssz 发表于 2009-10-25 17:58:23
画圆之后怎样自动擦除了
最新PPT模板
最新贴子
PPT热贴