摘要:VBA 作为一种新一代的标准宏语言,具有跨越多种应用软件并且具有控制应用软件对象的能力,该文基于EXCEL VBA设计自动出题系统,使教师只需利用EXCEL表能轻松建立题库及随机抽题功能,提高了工作效率。
关键词:EXCEL VBA;抽题题库
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)15-0056-02
Microsoft Office Excel是目前办公软件电子表格处理最流行的软件之一,它简单易学实用性强,数据处理功能强大受到广大民众的喜爱,作为老师,模拟试题、练习等组卷是教学常规工作,手工组卷工作量很大,如何能省时省力呢?利用EXCEL宏的VBA功能,还能编写实用性强的应用程序,对于没有计算机知识的老师使用起来也不是问题,本文所设计的自动抽题系统设计解决了试题库建设及抽题自动组卷功能,让老师的组卷工作效率提高。
1 系统分析
小学教师教学任务重,经常需要出题进行一天一练等组卷工作,本系统针对小学数学练习或考试,让教师轻松组卷。系统分别设计试卷生成工作表,另外每种题型分别对应一张工作表,表中录入对应的题库信息,题库类型有:填空题、判断题、选择题、计算题、解决问题,其中计算题再设置四个小题:口算题、列竖式计算、脱式计算、列式计算。
1.1 系统功能实现
新建一个EXCEL工作簿,本系统共有10个工作表,分别命名为“试卷”、“题型数量”、“填空题”、“判断题”、“选择题”、“口算题”、“列竖式计算”、“脱式计算”、“列式计算”、“解决问题”,“试卷”工作表中设计两个按钮,可以根据需要分别生成“WORD试卷”、“生成EXCEL试卷”;“题型数量”工作表中只输入两列内容,分别是“题型”、“数量”,输入试卷设置的题型及各题型数量即可。其他各题型工作表中分别输入“序号”、“题目”、“标志”3列内容,其中“标志”列用“*”号表示,用来记录已抽取过的题目,可以在练习时避免重复抽题。
1.2 VBA关键技术
1.2.1 VBA特点
Visual Basic For Application(VBA)是微软开发出来的应用程序共享一种通用的自动化语言,可以认为VBA是非常流行的应用程序开发语言VISUAL BASIC 的子集,实际上VBA是寄生于VB应用程序的版本。
VBA具有开发速度快、完整的开发文档以及实例、知识的继承、窗体制作的效率高、与应用软件有很好的接口等特点而受到广大电脑爱好者的喜爱。有了VBA 以后,多种应用程序共用一种宏语言,节省了程序人员的学习时间,提高了不同应用软件间的相互开发和调用能力。
1.2.2 关键技术
1)Application对象是Excel对象模型中最高层级的对象,代表Excel应用程序自身,也包含组成工作簿的许多部分,包括工作簿、工作表、单元格集合以及它们包含的数据。如Application的DisplayAlerts属性表示屏蔽提示信息而保存工作表。
2)Worksheets工作表对象,该对象的下一级对象是Range对象。Range对象可以是某个单元格、某一行某一列或者多个相邻或不相邻单元格区域对象。Cell属性可以引用某个单元格,Cells(I,J)就表示第i行、J列处的单元格。
Rows.Count 当前活动工作表的行数,Cells(Rows.Count,1)定位到第一列的最后一行cell。Range.End 属性是返回一个range对象,End属性返回的单元格就相当于在源单元格按住Ctrl键+上(或下、左、右)方向键所得到的单元格,XlToLeft :向左移动,相当于在源区域按Ctrl+左方向键;XlToRight:向右移动,相当于在源区域按Ctrl+右方向键;XlUp:向上移动,相当于在源区域按Ctrl+上方向键;XlDown:向下移动,相当于在源区域按Ctrl+下方向键。如END(XLUP)等同于END MODE下+UP键或CTRL+UP。
3)Offset属性,可以以初始值所设定的单元格区域为起点来相对移动任意的行或列,从而定位到新的单元格区域。
4)RESIZE属性可以让用户能够基于当前活动单元格修改区域大小,还可以根据需要创建一个新的区域。
5)UBOUND():返回数组的指示维度的最大值。
2 代码实现
1)生成试卷模块
2)如果希望生成WORD文档试卷,那么可以在“生成试卷”模块修改,增加调用“生成WORD试卷”过程。
3 结束语
EXCEL是目前最流行应用最广泛的软件之一,对于计算机专业知识了解较少的老师使用也没有障碍,随时可以使用,本系统能实现轻松组卷功能,教师只需建设充实各类型题库,就可以随心所欲地生成EXCEL或WORD格式的卷子,提高了教师的工作效率,因本系统只针对中小学生试卷使用,基本上是笔试为主,所以还未考虑在线考试时间控制。
参考文献:
[1] 王凡帆.基于EXCEL VBA的自动生成试卷系统设计[J]. 电脑知识与技术, 2010(4).
[2] 蒋勇.基于EXCEL VBA的计算机理论知识无纸化考试系统设计[J]. 软件导刊, 2012(2).
[3] 李萍. 基于 ExcelVBA 实现自动成绩分析的实践[J]. 中国教育信息化, 2014(1).