2020年11月25日第4卷第22期
现代信息科技
Modern Information Technology
Nov.2020 Vol.4 No.22
11
2020.11
收稿日期:2020-09-28
基金项目:云南省教育厅科学研究基金项目(2020J1176)
基于Excel VBA的成绩管理系统的探索与实现
杨发友,曹瀚天,黄恩相,张光福,铁卫华
(云南水利水电职业学院,云南 昆明 650499)
摘 要:文章以云南水利水电职业学院的成绩管理为研究对象,以Excel 2010为平台,采用VBA 编程,设计了一款能够自动汇总班级成绩并可以统计出补考学生名单的成绩管理系统。利用Excel VBA 实现学生成绩管理的自动化处理,提高工作效率和数据处理能力,加强数据处理结果的准确性,实现学生成绩信息管理工作流程的系统化、规范化和自动化,降低工作量,提高工作效率。
关键词:VBA ;自动生成;排版;成绩管理中图分类号:TP311.52
文献标识码:A
文章编号:2096-4706(2020)22-0011-05
Exploration and Implementation of Achievement Management System
Based on Excel VBA
YANG Fayou ,CAO Hantian ,HUANG Enxiang ,ZHANG Guangfu ,TIE Weihua (Yunnan Water Resources and Hydropower Vocational College ,Kunming 650499,China )
Abstract :The article takes the achievement management of Yunnan Water Resources and Hydropower Vocational College as
the research object ,uses Excel 2010 as the platform ,and uses VBA programming to design a achievement management system that can automatically summarize class results and make statistics on the list of students who take the retake exam. Using Excel VBA to realize the automatic processing of student achievement management ,improve work efficiency and data processing ability ,strengthen the accuracy
of data processing results ,realize the systematization ,standardization and automation of student achievement information management workflow ,reduce workload and improve work efficiency.
Keywords :VBA ;automatic generation ;typesetting ;achievement management
0 引 言
经过多年的教育信息化发展,以互联网为基础的成绩管理系统在各级各类学校中得到了普及。但经过调查,仍然有很多学校还没有专门的成绩管理系统,学校对成绩的管理还停留在使用Excel 进行管理。
Excel 虽然本身具有很强的数据处理能力,但是存在以下两个问题:一是由于Excel 的网络功能有限,对数据录入的工作很难实现多人在线收集;二是虽然教师们都熟悉Excel ,但是该软件的强大的数据处理功能要想发挥出来,需要掌握复杂的公式或者VBA 编程才能实现,这一点却少有人能够精通。
云南水利水电职业学院目前有5个二级学院,将近5 000名在校学生,开设26个专业,每学期开设约200门课程,包含理论课和实践课。由于学院有在线成绩管理系统,但有部分教师暂不能接受新系统使用操作,特别年长的老教师习惯了使用Excel 统计各科成绩后上报教务处,再由教务处按照要求录入系统,生成班级成绩汇总表,进行排名和补考统计。每次考试结束后,教务处的工作量非常大,不得不抽调
其他工作人员进行支援。这样做,不仅工作效率低,而且学生成绩录入错误的风险非常大。
解决这个问题最好的办法是升级优化或重新采购一套操作更简洁的在线成绩管理系统,但是由于学校经费有限,近几年都没有这方面的资金预算。
鉴于以上原因,本文从云南水利水电职业学院成绩管理需求出发,通过分析学校需求,从Excel 本身的功能开发考虑,用VBA 开发了一套低成本的解决方案。
1 研究的意义
我国的教育信息化经过多年的发展,已经取得了长足的进步。市场上不乏优秀的成绩管理系统,但是这些系统要么就是商业化严重,虽然好用,后台服务也能及时跟进,但是价格不菲;要么就是地方教育行政管理部门推广的系统,具有一定的优势,但是售后服务跟不上。有的学校自己有能力开发各种子系统,但是也存在各子系统之间数据不统一等问题。Microsoft Office 是广大学校教师最熟悉也是使用最多
的办公软件,Excel 软件是有强大的数据处理能力的表格系统,可以存储各种类型的数据。Visual Basic 宏语言(Visual Basic for Application ,VBA )是Office 内嵌的一种完全面向对象的编程语言。Excel 本身虽然具有非常强大的数据处理能力,但是往往需要大量复杂的公式或者用VBA 进行二次开发,才能使Excel 的功能得以充分发挥。运用VBA 开发
DOI:10.19850/jki.2096-4706.2020.22.003
(a)用户登录验证窗口
(b)新用户注册窗口
图1 用户登录验证及新用户注册窗口
此登录验证模块能很好解决管理员用户和普通用户的权能够有效追踪成绩出错环节,从而进行责任划分同时也能添加不同用户,方便管理。
实现程序代码为:
2020.11
图2 成绩汇总统计窗口
实现程序为:
一键收集成绩并汇总()
Dim myPath$,myFile$,AK As Workbook,Tk As Workbook, ,Num1,Num2,Num3,Wjs As Integer Application.ScreenUpdating = False
.[A1].CurrentRegion.Clear
Dim className As String Count AK.Sheets(1).Range("f7").Copy Tk.Sheets( Cells(4,j)
AK.Sheets(1).Range("f8").Copy Tk.Sheets(1).Cells(
AK.Sheets(1).Range("f9").Copy Tk.Sheets(1).Cells(
T k.S h e e t s(1).C e l l s(1,j)=A K.S h e
Tk.Sheets(1).[b1] = AK.Sheets(1).[f4]
Tk.Sheets(1).[b2] = AK.Sheets(1).[f3]
图3 补考统计表窗口
第22期
15
2020.11实现程序为:
Sub 纵向补考便于教务用()DimI
arr=Sheet 1.[A 1].CurrentRegion
ReDimBRR(1ToUBound(arr)*10,1To 8)ForI=5To(UBound(arr)-2)Forj=6ToUBound(arr,2)Ifarr(I,3)<>""Then
Ifarr(I,j)<60Orarr(I,j)="缺考"Orarr(I,j)="作弊"Orarr(I,j)= "补缺"Orarr(I,j)="缓考"Then
K=K+1
BRR(K,1)=arr(I,1)BRR(K,2)=arr(I,2)BRR(K,3)=arr(I,3)BRR(K,4)=arr(4,j)BRR(K,5)=arr(I,j)BRR(K,6)=arr(3,j)BRR(K,7)=arr(1,j)BRR(K,8)=arr(2,j)EndIf EndIf Next Next
Sheet 2.[A 2].CurrentRegion.Offset(1).ClearContents Sheet 2.[A 2].Resize(UBound(BRR),8)=BRR She
et 2.UsedRange.Borders.LineStyle=xlNone
Sheet 2.UsedRange.SpecialCells(xlCellTypeConstants,3).Borders.LineStyle=xlContinuous
WithSheet 2
.[a 1:h 1]=Array("班级","学号","姓名","补考科目","成绩","任课教师","学期","考试类别")
.Columns("a:h").AutoFit EndWith EndSub
4 系统主要功能
4.1 成绩报告单规范化
通过设计统一的成绩报告单,使过去老师们报告成绩格
式不统一的情况得以完全改善,成绩报告单设置了工作表保护,任课教师不能随意更改学生等信息,填入报告单的数据也只能按照设置统一格式填写,这样就规范了成绩数据。
4.2 成绩自动收集汇总功能
考试结束后,班主任向老师们收集各班的各科成绩后,报给教务员,教务员一键即可生成各班的成绩汇总表,自动汇总、自动排名、一键打印。
4.3 补考统计功能
过去补考统计也是一项复杂的工作,使用该系统后,教务员可一键统计出各班各同学的补考科目,真正实现办公自动化。
5 结 论
研究环境以Excel 2010为平台,利用VBA 编程语言,开发出成绩管理系统,能适用于各中小型规模学校,一方面能大大减轻教务处工作人员的工作量。经验证,过去需要10多位老师加班五六天的工作量,使用该系统后,只需要教务员1人加班三个小时左右即可完成全部成绩汇总和补考统计工作。此外,由于VBA 编程语言的普适性,系统的可移植性也非常高,稍做修改就可改为其他类似的管理系统。
由于笔者的技术水平有限,该系统基于Excel 2010采用VBA 编程开发,没有考虑在线收集成绩的功能,所以还需要人工点选收集汇总。最新版本Office 或WPS 网络功能得以增强,后续可以在网络功能开发上进一步开发,就可以设计出适应其他学校需要的成绩管理系统。
参考文献:
[1] Excel Home.Excel 2007 VBA 实战技巧精粹 [M].北京:人民邮电出版社,2013.
[2] Excel Home.别怕,Excel VBA 其实很简单:第1版 [M].北京:人民邮电出版社,2012.
[3] 郭刚.Excel VBA 入门与应用典型实例 [M].北京:北京希望电子出版社,科学出版社,2009.
[4] 王鸿儒.Excel VBA 程序设计 [M].北京:中国铁道出版社,2005.
[5] 魏汪洋.从零开始学Excel VBA :第2版 [M].北京:电子工业出版社,2014.
[6] 伍远高.Excel VBA 编程实战宝典 [M].北京:清华大学出版社,2014.
[7] 李政,王月,郑月锋,等.VBA 应用基础与实例教程:第2版 [M].北京:国防工业出版社,2009.
[8] 张峋.Excel VBA 入门与典型实例 [M].北京:清华大学出版社,2007.
[9] 李洋.Excel 函数、图表与数据分析应用实例 [M].北京:清华大学出版社,2007.
作者简介:杨发友(1985.09—),男,汉族,云南宾川人,实验师,本科,研究方向:网络与信息安全;曹瀚天(1984.10—),男,汉族,云南禄丰人,讲师,本科,研究方向:电气工程;黄恩相(1970.12—),男,汉族,云南梁河人,高级实验师,本科,研究方向:电气工程及自动化;张光福
(1979.06—),男,汉族,云南双江人,经济师,本科,研究方向:高校内控及信息化;铁卫华(1975.12—),男,汉族,云南宾川人,高校讲师,在职研究生,研究方向:电气工程及计算机。
杨发友,等:基于Excel VBA 的成绩管理系统的探索与实现excel自动生成排名
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论