基于Word的交互习题库的设计与制作

2009-03-31 07:23
中国信息技术教育 2009年5期
关键词:文本框工具箱控件

刘 巍 徐 鑫

相信大家对Microsoft Word 2003的使用都非常熟悉,在平时的授课过程中,当遇到一些练习题时,你是让学生以纸笔的方式进行自测,还是求助于用Flash或者Authorware制作的练习题题库课件呢?用纸笔未免显得太笨拙,而用Flash或Authorware在掌握脚本代码的编写上都是需要投入大量精力去学习的。其实用Word 2003中的控件工具箱配合VBA就可以实现很多复杂的交互,而且其中的VBA编程是非常容易掌握的。课程中涉及的练习题类型一般包括主观题和客观题,主观题以简答为主,而客观题则以单项选择题、多项选择题、填空题和判断题居多。下面就以一次语文基础知识测试为例,介绍各种题型的制作方法。

● 单项选择题的制作

方法一:单击“查看答案”按钮给出答案。如图1所示,每一道题包括题目、选项(4个)、查看答案按钮。具体制作过程如下。

①题目:视图→工具栏→控件工具箱→文本框(TextBox),在里面输入题目,可右键单击找到该控件的属性,在其中修改其颜色、字体、字形等属性。

②选项:控件工具箱→选项按钮(OptionButton),选项按钮的特点是在同一张幻灯片上只能选择其中的一个。修改其caption属性为“A、孔子”,其他选项可以复制第一个后再修改它们的caption属性。

③“查看答案”按钮:控件工具箱→命令按钮(CommandButton)。因为要实现的是选择某个选项后,单击“查看答案”给出正确答案,所以此时需对此按钮的VBA进行编辑。双击或者右键单击这个按钮,进入VBA编程环境。在Private Sub CommandButton1_Click()和End Sub语句间插入如下代码:

ex = MsgBox("正确答案是A、孔子。", vbOKOnly, "提示")……当单击按钮时,出现“提示”信息框,上面给出“正确答案是A、孔子”的答案,并有一个确定按钮,如图2所示。

方法二:选择某一选项时给出交互答案,提示正确与否,“查看答案”按钮给出正确答案,如图3所示。

第①、②、③与方法一同,区别是要在每一个单选项的VBA中输入代码,以图中第二小题的A错误答案(OptionButton5)、D正确答案(OptionButton8)为例。在OptionButton5中输入代码:

If OptionButton5.Value = True Then ……当此选项按钮被选择

ex = MsgBox("答案错误,请继续努力。", vbOKOnly, "提示")……弹出“错误”提示信息框,如图3所示。

在OptionButton8中输入代码:

If OptionButton8.Value = True Then ……当此选项按钮被选择

ex = MsgBox("Very Good!请继续努力。", vbOKOnly, "提示")……弹出“good”信息框。

● 多项选择题的制作

①如图4所示,制作方法与单选同。

②中使用控件工具箱→复选框(CheckBox),它的特点是在同一页面中可同时选择多个。修改其caption属性为“A、韩愈”,其他选项可复制第一个再修改它们的caption属性。

③多选题要有多个答案同时满足条件,因此“查看答案”按钮的设置略有不同,以第一小题为例,正确答案是ACDE,应输入代码:

If CheckBox1.Value = True And CheckBox3.Value = True And CheckBox4.Value = True And CheckBox5.Value = True Then……当这四个复选框被同时选中时

ex = MsgBox("恭喜你,答对了!", vbOKOnly, "提示")……提示“答对了”

Else: ex = MsgBox("答案错误,再试一试吧!", vbOKOnly, "提示")……否则提示“错误”

End If

④“清空答案”按钮的输入代码:

CheckBox1.Value = False CheckBox2.Value = False CheckBox3.Value = False

CheckBox4.Value = False CheckBox5.Value = False

● 判断题的制作

判断题的单选项也是选项按钮,所有的设置与单选题类似,只不过两个单选项为“√”和“×”,这两个符号可以用插入特殊符号→数字符号,先插入到文本框里,再复制到caption属性中,如图5所示。

● 填空题的制作

题目的设置同单选题,填空的地方用控件工具箱→文本框(TextBox),其他文字用普通文本框,如图6所示。

①“清空答案”按钮与选择题不同,输入的代码应该是:

TextBox6.Value = Null TextBox7.Value = Null

②答案判断:因为是填空题,所填答案是文本型,在文本框(以第一小题为例TextBox6)的VBA中条件书写为:

If TextBox6.Value = "十年生死两茫茫" Then

ex = MsgBox("恭喜你,回答完全正确!", vbOKOnly, "提示")

Else

ex = MsgBox("答案不对哦,再想想吧!", vbOKOnly, "提示")

End If

③“查看答案”按钮的代码:

ex = MsgBox("答案分别是“十年生死两茫茫”和“枯藤老树昏鸦”", vbOKOnly, "提示")

● 简答题的制作

主要是文本框的设置,简答题作答通常只要有几个关键的词语表达出来就算正确,本着这个思想,我们给TextBox8输入如下代码:

Dim a, b, c, d, e, f, g As String

a = TextBox8.Value

b = "壮志难伸"

c = "痛苦"

d = "报国无门"

e = InStr(a, b) ……在输入的文字中寻找“壮志难伸”这四个字,并把返回值赋给e

f = InStr(a, c) ……在输入的文字中寻找“痛苦”这四个字,并把返回值赋给f

g = InStr(a, d) ……在输入的文字中寻找“报国无门”这四个字,并把返回值赋给g

If e > 0 And f > 0 And g > 0 Then ……当e、f、g的值同是大于0时

ex = MsgBox("答案完全正确!", vbOKOnly, "提示")……提示“答案完全正确”

ElseIf e > 0 Or f > 0 Or g > 0 Then……当e、f、g的值任意一个大于0时

ex = MsgBox("回答不够完整!", vbOKOnly, "提示")……提示“答案不完整”,如图7所示。

Else……它们的值小于或者等于0时

ex = MsgBox("回答不正确!", vbOKOnly, "提示")……提示“回答不正确”

End If

这样,一个完整的基于Word的综合练习题库就完成了。需要注意的是,当制作完成后我们要在控件工具箱中点击左上角的“设计模式”转换按钮,才可以激活题库的各项功能。在题库的应用上,教师可以根据实际教学需要来不断的丰富题库,既能用在课堂复习练习上,也可以让同学进行自我测试,使用起来简单灵活。

猜你喜欢
文本框工具箱控件
使用“填表单”微信小程序 统计信息很方便
基于.net的用户定义验证控件的应用分析
巧用文本框实现PPT多图片排版
PPT文本框的另类应用
会“叫”的工具箱和工具
图片动画玩异样
文本框酷变3D效果
爸爸的工具箱
利用VF6.0的Timer控件实现动画效果
Spreadsheet控件在Delphi数据库系统中的编程与应用