返回首页

PPT轻松实现随机抽题

时间:2015-05-11 21:04来源:Office教程学习网 www.office68.com编辑:麦田守望者

单位举行知识竞赛,参赛队做必答题时,在备选题目中随机抽取题目做答,这样才公平,可是如何实现随机抽取和题目实时显示呢?

为了做到公平公正,趣味性更强,我在PPT中制作好抽题界面,再使用简单的宏,实现了随机抽取和题目实时显示。

设计抽题界面

打开PPT2010,将演示文稿保存成启用宏的PPT演示文稿格式(即.pptm格式,包含宏代码的演示文稿,必须保存成这种格式),在第一张幻灯片中设计抽题界面,先插入三个文本框,写上必要的文字,再通过“开发工具”选项卡,插入三个命令按钮控件,在这些控件上右击,选择“属性”命令,打开它们的“属性”对话框,在“名称”后将命令按钮名称分别修改为:开始、停止和打开抽取的题目,再在Caption后填写按钮上显示的名称(可随意大写,我这儿设置的与按钮名称相同),并对字体、字号、背景颜色、样式等进行设置。

再插入三个文本框控件,同样在“属性”对话框中,修改它们的名称为:抽取框、结果框和已抽题目。把“抽取框”放到“开始”和“停止”命令按钮控件之间,把“结果框”放到“您抽取的是 号题”文本中,将“已抽题目”拖至适合大小,放置到下面(图1)。

1217asw-随机抽题图1

接着新建一张幻灯片,设计好被抽题目放置界面,并在其上设计一个返回到抽题界面幻灯片的链接。将该幻灯片复制多份,将相应题目录入相应各幻灯片上,第二张幻灯片放第一道题目,第三张幻灯片放第二道题目,依次类推。

编写宏代码

接下来,按ALT+F11组合键,打开VBA宏编辑窗口,双击左侧的“Slide1”,将以下代码复制到右窗格中并保存。

Private Sub 开始_Click()

停止.Enabled = True '停止按钮当前有效

Dim a As Integer

Randomize

Do

a = Fix(Rnd * 10 + 1) '使用随机函数

抽取框.Text = a

结果框.Text = ""

DoEvents

Loop

End Sub

Private Sub 停止_Click()

结果框.Text = 抽取框.Text

已抽题目 = 已抽题目 + 抽取框 + " # " '题目标记用#分隔

停止.Enabled = False

End

End Sub

Private Sub 打开抽取的题目_Click()

ActivePresentation.SlideShowWindow_

.View.GotoSlide Val(抽取框.Text + 1)

End Sub

随机抽取题目并打开

到抽取题目时,放映幻灯片,点击第一张的“开始”按钮,此时其后的文本框中就随机快速滚动显示1到10这十个数字,点击“停止”按钮后,数字停止滚动,并显示出抽取的题号,同时在上方给出“您抽取的是X号题”提示,在下方“已抽题目”中显示出所有抽过的题目标号。点击下方的“打开抽取的题目”按钮,切换到抽取题目幻灯片,选手做完题目后,点击返回链接,回到抽取题目页面,继续为下一个选手抽题(图2)。

1217asw-随机抽题图2

小提示:在幻灯片放映状态下,可以选中三个文本框控件中的文本,删除它们,达到清零的目的。

代码图示

代码图示

宏代码
Private Sub 开始_Click()
停止.Enabled = True '停止按钮当前有效
Dim a As Integer
Randomize
Do
a = Fix(Rnd * 10 + 1) '使用随机函数
抽取框.Text = a
结果框.Text = ""
DoEvents
Loop
End Sub
Private Sub 停止_Click()
结果框.Text = 抽取框.Text
已抽题目 = 已抽题目 + 抽取框 + " # " '题目标记用#分隔
停止.Enabled = False
End
End Sub
Private Sub 打开抽取的题目_Click()
ActivePresentation.SlideShowWindow_
.View.GotoSlide Val(抽取框.Text + 1)
End Sub

------分隔线----------------------------
标签(Tag):ppt powerpoint技巧 powerpoint教程 poweroint 幻灯片 poweroint技巧 ppt技巧 PPT模板
------分隔线----------------------------
推荐内容
猜你感兴趣