VBA作为针对应用而设计的程序设计语言,其实用性是其它程序设计语言无法比拟的,而标准化考试(客观题考试)又无须更多人工参与,所以运用ExcelVBA完成考试系统的随机组题和自动评分,简化考试的繁杂步骤,自动完成整个考试过程。
【关键词】VBA考试系统方法
现在许多考试客观题占了很大比例,如果人工组题、阅卷劳神费力,效率还低,但如果开发网络在线考试系统,费用高昂,周期长,维护不便,并且要求网络畅通,总之要实现可谓困难重重。那么能不能把教师从繁杂而重复的任务中解放出来,可以,VBA就可以高效、简易地减轻教师负担。
1再认识EXCEL
MicrosoftExcel是微软公司的办公软件Microsoftoffice的组件之一,是微软办公套装软件的一个重要的组成部分,它可以进行各种数据的处理、统计分析和辅助决策操作,广泛地应用于管理、统计财经、金融等众多领域。但一般用户只知道它是一个制表软件,并且在处理格式方面远不及Word表格功能强大,稍熟悉的用户对EXCEL函数、计算、数据处理功能往往还是赞不绝口,Excel中大量的公式函数可以应用选择,使用Excel可以执行计算,分析信息并管理电子表格,对数据信息列表进行数据资料图表制作,实现许多方便的功能。
不仅如此,Excel(包括其它office的组件)还具有程序设计功能,对一般用户来讲,这一点可以称得上鲜为人知,其VBA语言和其他开发语言一样,可以提供强大功能,开发任意类型的信息系统;更专业方面,它还具有数据库功能,可以实现数据库的基本管理。
2考试系统初步构想
基本功能:
(1)老师可随时建立、修改、完善题库,能够随机抽题,保证每个考生每次的题目不雷同,按规定格式组卷,试卷具有防修改功能
(2)考生只能在指定区域答题,保护区域只能阅读,不能选定,鼠标、光标都不能驻足,答题区域尽量用下拉列表选择,保证数据完整性、有效性。
(3)考生交卷(自动交卷)后,文档完全锁定,保留提交(卷)标记
(4)保护评阅试卷密码,老师输入密码后,自动阅卷、评分,并给出评判和参考答案,保留阅卷标记
(5)已经阅卷的试卷,给出提示。
(6)定时器功能自动显示考试剩余时间,剩下5分钟进行提示,时间到点,自动交卷,自动保存关闭。
3定时器的实现
定时器(Timer)在C#、VB等系统开发语言中是极其普遍的控件,而VBA恰恰没有定时器。但功能可由Application对象的OnTime方法来实现,OnTime安排一个过程在将来的特定时间运行(既可以是具体指定的某个时间,也可以是指定的一段时间之后)。
3.1两种用法
(1)特定时间执行某一过程,如Application.OnTimeTimeValue("12:00:00"),"displaytime",就是12点执行displaytime过程。
(2)特定时间段后执行某一过程,用法为:现在时间+时间段,如:Now+TimeValue("00:00:01"),本质上都特定时间。
3.2两点说明
(1)递归调用因为OnTime执行某一过程后不能自动重启,因此执行的过程必须包含重启语句,实现递归调用。
(2)中止方法既然递归调用,那就不能自动停止,因此必须有条件退出执行过程。
基于上面两点,现通过具体过程进行说明:
过程设定D2单元格显示时间,初始化为1小时,倒计时每秒显示,过程框架如下:
PublicSubdisplaytime()
Range("D2").Value=Range("D2").Value-TimeValue("00:00:01")
'在D2里面显示剩余的时间,这个动作每隔一秒会执行一次,因为每隔一秒displaytime就会被调用一次。
nTime=Now+TimeValue("00:00:01")'设定下一秒时间
IfRange("D2").Value<>TimeValue("00:00:00")Then'有条件重启和退出过程
Application.OnTimenTime,"ThisWorkbook.displaytime",,True
Else
'完成自动提交后的工作,如:设定状态:已提交;显示考试日期、开始时间、结束时间、用时多少、删除提交按钮、锁定文档、保存文档等
Response=MsgBox("请按“考号+姓名”方式给文件改名,并上传给老师……",0,"提示")
Application.Quit'退出Excel
EndIf
EndSub
必须说明,displaytime是ThisWorkbook对象的通用过程,不能自动启动,通过ThisWorkbook的Workbook_Open()启动,因此Open()必须有包含displaytime启动语句。
PrivateSubWorkbook_Open()
'其它语句、功能……
displaytime'首次启动
EndSub
参考文献
[1]李政.VBA应用基础与实例教程[M].北京:国防工业出版社,2009:313-315.
[2]丁士锋.ExcelVBA标准教程[M].北京:化学工业出版社,2010.
(www.fabiaoba.com),是一个专门从事期刊推广期刊发表、投稿辅导、发表期刊的网站。
本站提供如何投稿辅导、发表期刊,寻求论文刊登合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级论文刊登/国家级论文刊登/
CSSCI核心/医学投稿辅导/职称投稿辅导。
投稿邮箱:fabiaoba365@126.com
在线咨询:
275774677、
1003180928
在线咨询:
610071587、
1003160816
联系电话:18796993035
期刊简介: 《中国牛业科学》china Cattle Science(双月刊)曾用刊名:中国黄牛;中...
期刊简介: 《现代畜牧科技》ModernAnimalHusbandryScienceTechnology(月刊)曾用刊...
期刊介绍: 《高校辅导员学刊》是以党和国家关于加强大学生思想政治教育和辅导员队伍...
期刊简介: 《戏剧文学》DramaLiterature(月刊)曾用刊名:戏剧创作,创刊于1987年,...
期刊简介: 《金融教育研究》(双月刊)创刊于1988年,原名为《江西金融职工大学学报...
期刊介绍: 《中华生物医学工程杂志》创刊于1995年,为中华医学会主办的专业学术期刊...
近来发现有些作者论文投稿存在大量剽窃、抄袭行为,“发表吧”对此类存在大量剽窃、抄袭的论文已经停止编辑、推荐。同时我们也提醒您,当您向“发表吧”投稿时请您一定要保证论文的原创性、唯一性,这既是对您自己负责,更是对他人的尊敬。
此类投稿的论文如果发表之后,对您今后的人生和事业将造成很大的麻烦,后果不堪设想,请您一定要慎重,三思而后行。
如因版权问题引起争议或任何其他原因,“发表吧”不承担任何法律责任,侵权法律责任概由剽窃、抄袭者本人承担。