找回密码
 立即注册
搜索

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

9
回复
627
查看
[复制链接]

19

主题

229

帖子

56

幻币

一流武者

Rank: 3Rank: 3

积分
295
QQ
2009-6-12 10:50:00 显示全部楼层 |阅读模式
我想在播放到某张PPT时,自动运行一个宏,不需要点击任何按钮.
怎么做呢?
PPT学习论坛
回复

使用道具 举报

19

主题

196

帖子

60

幻币

一流武者

Rank: 3Rank: 3

积分
263
QQ
2009-6-12 12:38:28 显示全部楼层
动作  自动播放~

PPT学习论坛
回复 支持 反对

使用道具 举报

12

主题

214

帖子

44

幻币

一流武者

Rank: 3Rank: 3

积分
277
QQ
2009-6-12 12:56:39 显示全部楼层
嗯,我对这个问题也很想知道呀,希望高手指点呀。 楼上被扣分,应该。
(我会不会被扣分?)
PPT学习论坛
回复 支持 反对

使用道具 举报

16

主题

205

帖子

40

幻币

一流武者

Rank: 3Rank: 3

积分
267
QQ
2009-6-12 13:21:24 显示全部楼层
在office2007中,点击左上角office2007按钮-----PowerPoint选项-----信任中心-----信任中心设置------宏设置------点选--启用所有宏。
不知能不能满足你。
PPT学习论坛
回复 支持 反对

使用道具 举报

18

主题

211

帖子

42

幻币

一流武者

Rank: 3Rank: 3

积分
269
QQ
2009-6-12 13:32:52 显示全部楼层
对此问题,我并不我完全清楚,不过可以给你个自动画圆的小例子
自动画圆.rar (10.98 KB, 下载次数: 147)
PPT学习论坛
回复 支持 反对

使用道具 举报

19

主题

205

帖子

40

幻币

一流武者

Rank: 3Rank: 3

积分
253
QQ
2009-6-12 13:56:58 显示全部楼层
按说你的回复已经可以扣分了,只要回复与本问题无关的内容,原则上就要扣分,我们想通过这种办法减少在本区的灌水帖,提高解答问题的质量。。。
PPT学习论坛
回复 支持 反对

使用道具 举报

20

主题

198

帖子

53

幻币

一流武者

Rank: 3Rank: 3

积分
264
QQ
2009-6-12 14:55:28 显示全部楼层
肯定不是楼主想得到的答案
PPT学习论坛
回复 支持 反对

使用道具 举报

16

主题

193

帖子

38

幻币

一流武者

Rank: 3Rank: 3

积分
231
QQ
2009-6-12 15:13:23 显示全部楼层
我很不想说废话,可是那个自动画圆是怎么弄出来的呀?我没有看到任何“宏”呀,怎么弄的呀?
PPT学习论坛
回复 支持 反对

使用道具 举报

9

主题

228

帖子

19

幻币

一流武者

Rank: 3Rank: 3

积分
264
QQ
2009-6-12 15:18:43 显示全部楼层
呵呵,弄明白了,是使用了 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了。
PPT学习论坛
回复 支持 反对

使用道具 举报

16

主题

213

帖子

53

幻币

一流武者

Rank: 3Rank: 3

积分
278
QQ
2009-6-12 15:36:21 显示全部楼层
画圆之后怎样自动擦除了
PPT学习论坛
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册