用WORD 控件工具制作自阅卷式五类综合测试题
广西平南WEIAZHU阿柱
教学需要互动,信息时代教学互动,别具广阔天地。在教学过程中,为了巩固课堂所学知识,往往要提供一些练习给同学们。如果让这些练习具有交互功能,就能更好地提高同学们的兴趣,收到更好的教学效果。课程中涉及的练习题类型一般包括主观题和客观题,主观题以简答为主,而客观题则以单项选择题、判断题、多项选择题和填空题居多。用Word 2003中的控件工具箱配合VBA,就可以实现很多复杂的交互,而且其中的VBA编程又是较容易掌握的。下面,我们就来看一下用Word 2003如何制作一份自阅卷式五类综合测试题。
一.新建测试卷文档。单击“工具”→ “宏”→ “安全性”→ “安全级”→选 “中”→ “确定”。命名并保存文档。[以后打开此测试卷文档,出现“安全警告”,单击“启用宏”即可使用。]
二.试卷头制作:
1.单击“视图”→“工具栏”→ “控件工具箱”,打开控件工具,单击“设计模式”,进入设计过程。
2.在文档上部,放置四个“命令按钮”控件(CommandButton1——CommandButton4):先光标定位,后单击“命令按钮”。根据布局,还可拖动调整位置。
3.逐个选中命令按钮,右单击→“属性”,将Caption (标题)依次命名为“准备测试”、 “输入姓名”、 “确认交卷”、 “批阅试卷”。还可修改字体、字形、字号(单击“Font”→最右边“…”,有下拉菜单)、颜色等项。可把“确认交卷”按钮拖放到卷尾,方便完卷时询问考生)。
4.分别于上述第1、2、4个按钮后,放置一个“文本框(TextBox)”控件。
5.逐个选中文本框,右单击→“属性”,将“(名称)”项依次改命名为“准备”、 “姓名”、 “得分”。
三、试题制作(本卷以单项选择、判断、多项选择、填空、简答每类各2小题为例,每小题10分;简答题,答案不够完整给5分)。卷见:http://www.1kejian.com/edu/UploadFile/2010-1/20101281018348845.doc 。(下载或链接可见有原来正确选、答的内容;单击卷头“准备测试”或完成“输入姓名”,则会清空原来的。)
(一)单项选择题
1.题目:输入并编辑其字体、字形、字号、颜色等。
2.选项: 在“控件工具箱”中选择“选项按钮(OptionButton)”,在每小题题目下面插入4个,在属性表中分别设置其Caption为所设置各选项答案,可修改字体、字形、字号、颜色等等。
3.为便于后面VBA代码的编制和查核,在属性表中,将各“选项按钮”结合题次修改其“(名称)”为:OptionButton11——OptionButton14;OptionButton21——OptionButton24。
(二)判断题
1.题目:输入并编辑其字体、字形、字号、颜色等等。
2.选项:判断题的单选项也是用“选项按钮”,设置与单选题类似,只不过两个单选项为“√(对)”和“×(错)”,这两个符号可以选用插入“数字符号”,即可输入到caption属性中。
3.为便于后面VBA代码的编制和查核,[与上面单项选择题同为“选项按钮”] 在属性表中,将各“选项按钮”结合题次修改其“(名称)”为:OptionButton31——OptionButton32;OptionButton41——OptionButton42。
(三)多项选择题
1.题目:输入并编辑其字体、字形、字号、颜色等等。
2.选项: 在“控件工具箱”中选择“复选框(CheckBox)”,每小题需插入4个,在属性表中分别设置其Caption为所设置各选项答案,可修改字体、字形、字号、颜色等。
3.为便于后面VBA代码的编制和查核,在属性表中,将各“复选框”结合题次修改其“(名称)”为:CheckBox11——CheckBox14;CheckBox21——CheckBox24。
(四)填空题
1.题目:输入并编辑其字体、字形、字号、颜色等。
2.选项: 在“控件工具箱”中选择“文本框(TextBox)”,插入到题目要填空的括号处(可根据要填写内容量,拖动调节其宽度)。在属性表中可修改填写用的字体、字形、字号、颜色等。
3.为便于后面VBA代码的编制和查核,在属性表中,将各“文本框”依次修改其(名称)为:TextBox41、TextBox42、TextBox43等。
(五))简答题
1.题目:输入并编辑其字体、字形、字号、颜色等。
2.选项: 在“控件工具箱”中选择“文本框(TextBox)”,插入到题目下面(可根据要回答内容量,拖动调节其宽度、高度)。在属性表中可修改回答用的字体、字形、字号、颜色等。
3.为便于后面VBA代码的编制和查核,在属性表中,将各“文本框”依题次修改其(名称)为:TextBox51、TextBox52等。
三、◆VBA代码编辑
1.双击“准备考试”命令按钮,进入到VBA编程环境,在Private Sub CommandButton1_Click()和End Sub语句间插入如下代码:
“ CommandButton4.Enabled = False
准备.Value = "祝你成功!"
姓名.Value = ""
得分.Value = ""
OptionButton11.Value = False
OptionButton12.Value = False
OptionButton13.Value = False
OptionButton14.Value = False
OptionButton21.Value = False
OptionButton22.Value = False
OptionButton23.Value = False
OptionButton24.Value = False
OptionButton31.Value = False
OptionButton32.Value = False
OptionButton41.Value = False
OptionButton42.Value = False
CheckBox11.Value = False
CheckBox12.Value = False
CheckBox13.Value = False
CheckBox14.Value = False
CheckBox21.Value = False
CheckBox22.Value = False
CheckBox23.Value = False
CheckBox24.Value = False
TextBox41.Value = ""
TextBox42.Value = ""
TextBox43.Value = ""
TextBox51.Value = Null
TextBox52.Value = Null ”
2.双击 “输入姓名”命令按钮,进入到VBA编程环境,在Private Sub CommandButton2_Click()和End Sub语句间插入如下代码:
“ xm = InputBox("输入考生姓名...")
姓名.Value = xm
OptionButton11.Value = False
OptionButton12.Value = False
OptionButton13.Value = False
OptionButton14.Value = False
OptionButton21.Value = False
OptionButton22.Value = False
OptionButton23.Value = False
OptionButton24.Value = False
OptionButton31.Value = False
OptionButton32.Value = False
OptionButton41.Value = False
OptionButton42.Value = False
CheckBox11.Value = False
CheckBox12.Value = False
CheckBox13.Value = False
CheckBox14.Value = False
CheckBox21.Value = False
CheckBox22.Value = False
CheckBox23.Value = False
CheckBox24.Value = False
TextBox41.Value = ""
TextBox42.Value = ""
TextBox43.Value = ""
TextBox51.Value = Null
TextBox52.Value = Null
得分.Value = "" ”
3.双击“确认交卷”命令按钮,进入到VBA编程环境,在Private Sub CommandButton3_Click()和End Sub语句间插入如下代码:
“CommandButton4.Enabled = True
MsgBox "请仔细检查后交卷" ”
4.双击“批阅试卷”命令按钮,进入到VBA编程环境,在Private Sub CommandButton4_Click()和End Sub语句间插入如下代码:
“ Dim sm(10)
If OptionButton11.Value = True Then sm(1) = 10
If OptionButton23.Value = True Then sm(2) = 10
If OptionButton32.Value = True Then sm(3) = 10
If OptionButton41.Value = True Then sm(4) = 10
If CheckBox11.Value = True And CheckBox12.Value = True And CheckBox13 = True And CheckBox14.Value = True Then sm(5) = 10
If CheckBox23.Value = True And CheckBox24.Value = True And CheckBox21.Value = False And CheckBox22.Value = False Then sm(6) = 10
If TextBox41.Value = "纯文本" Then sm(7) = 10
If TextBox42.Value = "Backspace" Or TextBox42.Value = "退格" And TextBox43.Value = "Delete" Or TextBox43.Value = "删除" Then sm(8) = 10
Dim a, b, c, d, e, f, g As String
a = TextBox51.Value
b = "单击“格式”菜单中的“字体”命令,在弹出的对话框中选择“字符间距”标签,输入相应的间距值即可。"
c = "单击“格式”菜单中的“段落”命令,在弹出的对话框中选择“行间距”标签,输入相应的间距值即可。"
d = ""
e = InStr(a, b)
f = InStr(a, c)
g = InStr(a, d)
If e > 0 And f > 0 And g > 0 Then
ex = MsgBox("答案完全正确!", vbOKOnly, "简答1结果")
sm(9) = 10
ElseIf e > 0 Or f > 0 Or g > 0 Then
ex = MsgBox("回答不够完整!", vbOKOnly, "简答1提示")
sm(9) = 5
Else
ex = MsgBox("回答不正确!", vbOKOnly, "简答1提示")
End If
a = TextBox52.Value
b = "单击和双击两种使用方法"
c = "进行一次格式处理"
d = "多次对文字内容进行处理"
e = InStr(a, b)
f = InStr(a, c)
g = InStr(a, d)
If e > 0 And f > 0 And g > 0 Then
ex = MsgBox("答案完全正确!", vbOKOnly, "简答2结果")
sm(10) = 10
ElseIf e > 0 Or f > 0 Or g > 0 Then
ex = MsgBox("回答不够完整!", vbOKOnly, "简答2提示")
sm(10) = 5
Else
ex = MsgBox("回答不正确!", vbOKOnly, "简答2提示")
End If
Dim i, s As Integer
s = 0
For i = 1 To 10
s = s + sm(i)
Next
For i = 1 To 10
sm(i) = 0
Next
得分.Value = s ”
★到此,测试卷制作完成。注意:要在控件工具箱中点击左上角的“退出设计模式”转换按钮,以激活有关功能。
最后,保存文档,关闭。
△● 通过学习制作,对照VBA代码,我们会慢慢悟出几类题目的代码编辑要领,进而可以根据实际去制作各类测试题。更多的交互制作,网上参考多多。此为拙作,欢迎赐教。
、
Copyright © 2019- ubii.cn 版权所有
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务