1、PowerPoint 中实现人与幻灯片互动答题在公司员工培训过程中,通常用 PowerPoint 将教学内容制成课件向学员进行讲解演示,为了增加教学的演示效果和学员的参与兴趣,倘若在幻灯片中能够显示多选、单选、判断和填空等类型的答题,然后由学员进行选择或判断,并由电脑给出正确(或错误)提示信息,即可实现人与幻灯片交互答题的功能。然而,PowerPoint 并没有提供现成的功能为大家所使用。为此,本文通过采用VBA 编程的方式来为大家化解这一难题,让你随心所欲地设计出交互式答题幻灯片。一、编程原理与策划1. 多选题型在设计多项选择答题时,由于存在着多个答案由学员来选择判断,因此可以使用复选框(C
2、heckBox)控件来实现这个功能。在书写 VBA 逻辑表达式时,多个条件之间用“and“或“or“连接,表示同时满足几个(或其中一个)条件。例如复选框 CheckBox1 和 CheckBox2 代表的选项是正确的,则使用如下表达式:if CheckBox1. Value = True And CheckBox2. Value = True ThenMsgBox “选择正确。 “, vbOKOnly. “结果“ElseMsgBox “选择错误!正确答案是A 和 B!“, vbOKOnly. “提示“End if2. 单选判断题型设计单选(或判断)题时,由于正确答案只有一个,因此由单选按钮(O
3、ptionButton)控件来实现这个功能。例如 OptionButtonl 代表的答案是正确的,则使用表达式:If OptionButtonl. Value = True Then ex = MsgBox(“您答对了! 请继续回答下一个问题。“, vbOKOnly) ;如果 OptionButton2 代表的答案是错的,则使用表达式:If OptionButton2. Value = True Then ex = MsgBox(“正确答案是 A,请继续努力!“,vbOKOnly ) 。 3. 填空题型对于填空题,由于所填写的答案是文本 所以只要使用文本框(TextBox)控件即可实现。代码如
4、下:If textBox1.Value = “答案内容“ ThenMsgBox“答案正确 !“, vbOKOnly. “结果“ElseMsgBox“回答错误!正确答案是答案内容!, vbOKOnly. “提示“End if二、幻灯课件轻松设计1. 在幻灯片 Slide1 中设计多选答题界面(1)启动 PowerPoint 2003,选择“视图| 工具栏|控件工具箱“命令,打开“ 控件工具箱“工具栏。首先将幻灯片 Slide1(默认新建)设置为空白版式,并将其保存为“幻灯片答题演示 .ppt“文件,然后在幻灯片中放置标签(Label) 、复选框(CheckBox) 、按钮(CommandButt
5、on)等控件。(2)将 Label1 的“Caption“属性修改为“ 在 Flash8 中,元件类型包括“;复选框 CheckBox(14 )的 “Caption“属性依次修改为 “影片剪辑“、“ 实例“、“声音“和“ 按钮 “;按钮 CommandButton (13)的“Caption“ 属性分别修改为“判断“、“ 下一题“ 和 “重新选择 “。(3)在幻灯片“Slide1“中用鼠标右键单击任意按钮(例如“判断“ ) ,然后选择快捷菜单中的“查看代码 “命令,接着在打开的窗口中输入本文提供的 “Slide1“代码即可。小提示:取消单击鼠标切换幻灯片的方法是:选择“幻灯片放映| 幻灯片切换
6、“命令,在右侧的“幻灯片切换“窗格中,将 “换片方式 “一栏下的“单击鼠标时 “复选框的勾选标记取消,然后单击“ 应用于所有幻灯片“ 按钮。2. 在幻灯片 Slide2 中设计单选或判断答题界面(1)选择“插入 |新幻灯片“命令,或者按下“Ctrl+M“组合键,新建幻灯片“Slide2“,并将其设置为空白版式。(2)在幻灯片中放置 Label1 标签控件,并将“Caption“属性修改为“不需要播放器能够自动播放的 Flash 文件类型是“;然后放置四个单选按钮 OptionButton(14)控件,将其“Caption“属性分别设置为“A .exe“、“B .FLA“、“C .fla“和“D
7、 .html“;接着再放置三个按钮 CommandButton(13 ) ,并将其“Caption“属性分别修改为“重新选择“ 、“上一题 “和“下一题“。参照上文的方法,输入本文提供的 S1ide2 代码。小提示:判断答题的所有设置与单选答题类似,只不过是设计两个选项“ 和“,这两个符号可以先在 Word 中插入,然后再复制到幻灯片中即可。3. 在幻灯片 Slide3 中设计填空答题界面新建空白版式幻灯片 Slide3,放置 Label1 标签,将其“Caption“属性修改为“在计算机中,数字化图形有两种表示法:位图和“ ,然后放置一个文本框TextBox1;接着再放置三个按钮 Comma
8、ndButton(13)控件,并将其“Caption“属性分别修改为“ 查看答案“ 、“上一题“和“ 重新填空“。并按上文的方法,输入本文提供的 SIide3 代码。小提示:编程时答案文本一定要用半角的双引号括起来,倘若有几个空一起判断,方法同多速答题。三、人机互动答题演示(1)学员在 PowerPoint 2003 中打开“幻灯片答题演示.ppt“文件,只要按下“F5“键,即可出现多选答题界面,在答题 “在 Flash8 中,元件类型包括“中共有“影片剪辑“、 “实例“、“声音 “和“按钮“四个答案供学员选择。倘若学员勾选了“ 影片剪辑“和“ 按钮 “复选框后,单击“判断“ 按钮,电脑即可给
9、出“选择正确“的提示信息;如果是其他判断组合,电脑则会给出“选对了一个“ (或“选择错误!正确答案是 影片剪辑和按钮!“)的提示。单击“ 重新选择“ 按钮,即可重新练习。如果想要进行下一题的判断选择,请单击“下一题“ 按钮继续。小提示:按“ESC“键,则退出幻灯片播放。(2)出现单选答题界面,在答题“不需要播放器能够自动播放 Flash 的文件类型是:“中也提供了四个答案“A .exe“,“B .FLA“、“C .fla“和“D .html“,不过正确的只有一个,当学员单击“A .exe“时电脑给出“ 选择正确“ 的提示信息,其他选项均给出错误提示信息。单击“重新选择“ 按钮可以重新选择练习。
10、倘若此时对上一题还想练习一番,学员可以通过单击“上一题 “按钮来实现。好了,单击“下一题“继续答题训练。(3)最后出现的是填空答题界面,在答题“在计算机中,数字化图形有两种表示法:位图和“中,要求学员在文本框里输入答案,倘若输入的是“ 矢量图形“ ,电脑会给出“ 回答正确 “的提示,输入其他答案则给出错误提示信息。单击“重新填空“ 按钮,文本框里则出现“请双击鼠标后填入你的答案!“提示信息,双击鼠标后输入正确答案即可。小提示:关闭幻灯片“右键单击快捷莱单“ 和“显示弹出式工具栏“的方法是:选择 “工具|选项“命令,在打开的窗口中单击“视图 “选项卡,然后在“幻灯片放映“一栏中将对应的复选框勾速
11、标记取消即可源代码:Slide1:幻灯片 Slide1 代码:“判断“按钮Private Sub CommandButton1_Click()If CheckBox1.Value = True And CheckBox4.Value = True ThenMsgBox “选择正确。 “, vbOKOnly, “结果“ElseIf CheckBox1.Value = True Or CheckBox4.Value = True ThenMsgBox “选对了一个。 “, vbOKOnly, “提示“ElseMsgBox “选择错误!正确答案是影片剪辑和按钮!“, vbOKOnly, “提示“En
12、d IfEnd IfEnd Sub“下一题“ 按钮Private Sub CommandButton2_Click()If MsgBox(“是否继续? “, vbYesNo + vbQuestion, “下一题“) = vbYes ThenWith SlideShowWindows(1).View.GotoSlide 2End WithEnd IfEnd Sub“重新选择“按钮Private Sub CommandButton3_Click()CheckBox1.Value = FalseCheckBox2.Value = FalseCheckBox3.Value = FalseCheckBo
13、x4.Value = FalseEnd SubSlide2:幻灯片 Slide2 代码:“重新选择“按钮Private Sub CommandButton1_Click()OptionButton1.Value = FalseOptionButton2.Value = FalseOptionButton3.Value = FalseOptionButton4.Value = FalseEnd Sub“下一题“按钮Private Sub CommandButton2_Click()If MsgBox(“是否继续? “, vbYesNo + vbQuestion, “下一题“) = vbYes T
14、henWith SlideShowWindows(1).View.GotoSlide 3End WithEnd IfEnd Sub“上一题“按钮Private Sub CommandButton3_Click()If MsgBox(“是否继续? “, vbYesNo + vbQuestion, “上一题“) = vbYes ThenWith SlideShowWindows(1).View.GotoSlide 1End WithEnd IfEnd Sub“退出“按钮Private Sub CommandButton4_Click()With SlideShowWindows(1).View.E
15、xitEnd WithEnd Sub正确选择Private Sub OptionButton1_Click()If OptionButton1.Value = True Then ex = MsgBox(“您答对了!请继续回答下一个问题。“, vbOKOnly)End Sub错误选择Private Sub OptionButton2_Click()If OptionButton2.Value = True Then ex = MsgBox(“正确答案是 A,请继续努力!“, vbOKOnly)End Sub错误选择Private Sub OptionButton3_Click()If Opti
16、onButton3.Value = True Then ex = MsgBox(“正确答案是 A,请继续努力!“, vbOKOnly)End Sub错误选择Private Sub OptionButton4_Click()If OptionButton4.Value = True Then ex = MsgBox(“正确答案是 A,请继续努力!“, vbOKOnly)End SubSlide3:幻灯片 Slide3 代码:填空判断提示按钮Private Sub CommandButton1_Click()If TextBox1.Value = “矢量图形“ ThenMsgBox “选择正确 !
17、“, vbOKOnly, “结果“ElseMsgBox “回答错误 !正确答案是 矢量图形!“, vbOKOnly, “提示“End IfEnd Sub“上一题“按钮Private Sub CommandButton2_Click()If MsgBox(“是否继续? “, vbYesNo + vbQuestion, “上一题“) = vbYes ThenWith SlideShowWindows(1).View.GotoSlide 2End WithEnd IfEnd Sub重新填空按钮Private Sub CommandButton3_Click()TextBox1.Value = “请双击鼠标后填入你的答案!“End Sub鼠标左键双击文本框事件Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)TextBox1.Value = “End Sub