APP下载

基于VBA编程的网络教学试题库批量试题录入研究

2015-04-30陈莉徐芳

软件导刊 2015年4期
关键词:试题库

陈莉 徐芳

摘要摘要:使用 Excel原始试题库文件,嵌入VBA编程,生成的TXT文件用于保存符合要求的试题格式,实现了网络教学平台批量输入试题格式的转换,提高了工作效率。

关键词关键词:VBA;Excel;试题库

0 引言

军队网络教学平台集课程内容、教学资源管理和考试系统为一体,通过该平台可以进行一系列教学活动。例如教员可以设计网络课程供学员进行自主学习,还可以录入试题进行考试,实现学习效果评价。试题录入工作中发现,虽然系统提供了批量试题录入方式,但由于录入时需按照规定的格式,在一定程度上不能自动批量录入,限制了试题库录入的效率。针对此问题,本文提出了基于VBA编程[1]的网络教学试题库批量录入方法,通过对原始 Excel试题库文件进行VBA编程,实现了试题格式的转换和网络教学试题库批量录入,大大提高了试题录入效率。

1试题添加方式

网络教学平台考试模块的子模块“试题管理”是其核心和基础,通过“试题管理”可对课程章节添加各种类型试题,也可根据需要删除和修改,从中抽取若干试题组成考试试卷。

试题管理模块设置了添加试题方式:单个添加和批量添加。对于单个添加,采用如图1所示的方式,教员从平台一个个输入,题干和答案都要通过输入框输入,每次输入完一道试题后都要点击“确定”按钮,额外增加了输入时间,影响效率。

系统提供了另一种试题添加方式:批量添加,如图2所示。批量添加可从批量添加框中一次性输入多个试题。然而,系统规定了单选、多选和判断题等的特定格式,格式规定和具体示例如图3所示。填空题格式与其它类型试题格式略有不同,图4展示了其一般格式和具体示例,一般试题都难以符合此格式。《计算机基础与操作》课程的许多试题都可以通过网络下载得到,一般格式为 Excel和Word类型,但这些试题都不是上述要求的试题格式。如果用手动方式,依次将试题修正为所需要的格式,无疑会花费大量的时间。

2基于VBA编程实现批量试题格式转换

2.1 Excel文件原始试题格式

使用微软开发的应用程序Visual Basic for Application(VBA)[2]可以编制出令Office自动的程序,对Office进行二次开发[3],完成自动化处理Office应用文档功能,减少用户的重复操作。Internet上有很多关于《计算机基础与应用》课程的试题,可充分利用网络资源。网上下载的试题有很大部分是 Excel文件,经过简单处理后成为如图5所示的格式, Excel基于VBA编程,使程序自动按照格式要求完成从原始试题到“批量添加”试题需要的格式转换。不同类型的试题编程不同,以实现正确的格式转换[4]。

2.2基于VBA编程的各类试题格式转换

在打开 Excel试题文件后,按【Alt+F11】进入VBE编程环境,使用“插入/模块”菜单命令插入模块,在模块中定义一个过程,该过程实现格式的转换输出。

以下语句获得当前所有试题所占行数,前提是试题所在区域没有空行。

单选题的格式转换:首先输出“#”和试题类型信息,使用VBA语句从原始 Excel试题文件中分别读取A、B、C、D四个选项内容,并在每个选项内容前面加上各自的选项符号和点号。如果某一选项是正确的选项,则还需要在前面加上“*”;最后按照输出指定的格式到新建的TXT文件中[5],难度系数和章节号先省略,因为此两项需要人为设置,核心程序如下:

判断题的格式转换和单选题的格式转换是类似的,都是使用VBA语句从原始 Excel试题文件中读取答案单元格中的内容,根据内容在正确的答案前加上格式所要求的*号。

多选题的格式转换,与单选题和判断题的不同之处是对放置答案的单元格处理,要判断选项是否在答案中,如果在,则在正确的选项前加“*”。以选项A的判断为例:使用Mid函数,Mid(Cells(i,7),k,1)表示从Cells(i,7)(即存放答案的单元格内容)中的第k位开始取1个字符,也就是从第1个字符开始遍寻存放答案的单元格内容,如果有字符是A或a,则选项A为其中一个正确的答案,在该选项内容前加上表示正确答案的“*”,其它答案选项处理类似,其核心程序段如下:

按格式输出TXT文件,与单选题操作类似,此处省略具体语句。

填空题格式转换与其它格式都不同,题干中需要填的空是由若干个“_”字符连在一起的,需要转换的格式是把需要填空的空用“{答案}”替换。

首先获取填空题原始题目中用于填空的“_”的个数numberof_,使用mid函数依次取number of_个字符,判断其是否等于number of_个连续的字符串,如果是,则使用Replace函数把{答案}替换number of_个连续的字符串,最后按照要求的格式输出到TXT文件中。基于VBA的填空题格式批量转换代码如下:

2.3对窗体按钮指定编制的宏

模块编写调试成功后,最后一步是对窗体按钮指定宏,单击菜单“视图”/“工具栏”/“窗体”勾选,在文件的空白区域画出按钮后就可以指定宏了[6],把编好的模块过程指定给该按钮,单击该按钮就可以输出符合批量输入试题的格式。

2.4格式转换应用

当指定编制完成后,单击按钮,就可以把原始的 Excel文件中的试题格式转换为符合军队网络教学平台要求的批量输入试题格式,将其存储到TXT文件中,把TXT文件中的内容复制,粘贴到试题批量添加输入框中,如图2所示。单击“确定”按钮就可以实现试题自动批量录入。

3结语

在原始的 Excel试题文件基础上,嵌入了VBA编程,通过程序完成了批量输入试题的格式转换,大大提高了试题管理效率。在军队网络教学平台《计算机基础与操作》网络课程试题库录入中采用该方法,只需几个简单的按钮操作就可以完成,提高了工作效率。虽然本文是针对军队网络教学平台设计的,但对于其它平台的操作也有借鉴意义。

参考文献参考文献:

[1]林海宁.基于VBA技术的 Excel自动评阅系统[J].现代计算机,2012 (21):7880.

[2]何小松.通用试题库管理系统的开发与研究[J].淮南师范学院学报,2003,5(19):5051.

[3]刘铭.基于VBA对 Excel 2007二次开发应用研究[J].现代电子技术,2010,33(10):5558.

[4]耿霞,王志军,宋维.自学考试命题及自动排版系统的设计与实现[J].中国教育信息化,2007 (21):4143.

[5]伍云辉.完全手册 Excel VBA典型实例大全 [M].北京:电子工业出版社,2008:446459.

[6]韦立梅.使用Excel VBA管理工资资料[J].电脑与电信,2013 (6):7075.

责任编辑(责任编辑:杜能钢)

猜你喜欢

试题库
基于Quiz Creator的“机械图样的绘制与识读”随机组卷试题库的制作与研究
基于校园网的电磁学试题库建设
教考分离模式下课程试题库的建设研究——以高职院校数学课程为例