找回密码
 立即注册
搜索

[求助]第一次显示全部......

4
回复
290
查看
[复制链接]

11

主题

197

帖子

31

幻币

一流武者

Rank: 3Rank: 3

积分
239
QQ
2016-4-12 12:22:38 显示全部楼层 |阅读模式
我做了一个PPT,共17页,已经保存为PPS,并且设置为循环播放,现要求如下:
1,第一次播放全部内容(1~17).
2,第二次开始播放1,8,9,10....17,就是从第二次开始跳过2~7页。
可能要用到VBA,问题是:
1,PPS可以直接打开有宏的文档吗?
2,如果要用到宏,如何写?谢谢。
PPT学习论坛
回复

使用道具 举报

13

主题

218

帖子

37

幻币

一流武者

Rank: 3Rank: 3

积分
261
QQ
2016-4-12 13:59:08 显示全部楼层
楼主的意思就是要在第一轮放映中当放到第17张幻灯片时自动将第2-7张幻灯片设置为隐藏,这要用到PPT VBA中的SlideShowNextSlide事件。为这一事件添加如下代码即可实现你的设想:
If SlideShowWindows(1).View.CurrentShowPosition = 17 Then '若当前放映的是第17张幻灯片
ActivePresentation.Slides.Range(Array(2, 3, 4, 5, 6, 7)).SlideShowTransition.Hidden = msoTrue '则将第2-7张幻灯片设为隐藏
End If
若要在退出后撤销对上述幻灯片的隐藏,可在“SlideShowEnd”事件中进行。(将上面“Hidden”属性重设为“msoFalse”。)
若对事件的使用不熟,可参看PowerPoint的VBA帮助。
若要让PPT真正自动响应事件,最好下载一个名为“autoevents”的加载宏,里面的“auto_nextslide”事件比上面提到的“SlideShowNextSlide”更好用。
PPT学习论坛
回复 支持 反对

使用道具 举报

12

主题

184

帖子

42

幻币

一流武者

Rank: 3Rank: 3

积分
240
QQ
2016-4-12 16:12:25 显示全部楼层
谢谢,我对PPT的VBA不是很懂,麻烦你能不能写个例子。
PPT学习论坛
回复 支持 反对

使用道具 举报

11

主题

192

帖子

39

幻币

一流武者

Rank: 3Rank: 3

积分
236
QQ
2016-4-12 16:33:34 显示全部楼层
做了一个例子(见附件1),供参考。例中除了隐藏第1-4张幻灯片外,还对剩余幻灯片的设置进行了一些修改。
注意,例中的代码是为AutoEvents加载宏中的事件写的,所以必须先下载它(见附件2)并在PPT中加载。(PPT本身无自动宏。)
我对VBA也是一知半解,例子中的代码大多来自PPT的VBA帮助。欢迎各位路过的朋友一起讨论。
7yJG6Gn4.rar (22.2 KB, 下载次数: 182)
PPT学习论坛
回复 支持 反对

使用道具 举报

11

主题

178

帖子

30

幻币

一流武者

Rank: 3Rank: 3

积分
223
QQ
2016-4-12 16:56:14 显示全部楼层
谢谢cqdanielzh朋友,PPT论坛中对VBA应用的例子很少,可能是用的人比较少。
PPT学习论坛
回复 支持 反对

使用道具 举报

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