如何在播放PPT时自动运行宏
我想在播放到某张PPT时,自动运行一个宏,不需要点击任何按钮.怎么做呢? 动作自动播放~
嗯,我对这个问题也很想知道呀,希望高手指点呀。 楼上被扣分,应该。
(我会不会被扣分?)
在office2007中,点击左上角office2007按钮-----PowerPoint选项-----信任中心-----信任中心设置------宏设置------点选--启用所有宏。
不知能不能满足你。 对此问题,我并不我完全清楚,不过可以给你个自动画圆的小例子
按说你的回复已经可以扣分了,只要回复与本问题无关的内容,原则上就要扣分,我们想通过这种办法减少在本区的灌水帖,提高解答问题的质量。。。 肯定不是楼主想得到的答案 我很不想说废话,可是那个自动画圆是怎么弄出来的呀?我没有看到任何“宏”呀,怎么弄的呀? 呵呵,弄明白了,是使用了 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了。 画圆之后怎样自动擦除了
页:
[1]