时间:2024-07-29
何 剑
(扬州职业大学 师范学院,江苏 扬州 225000)
基于AutoIt3/VBA的Excel操作题自动批量批改程序的设计
何 剑
(扬州职业大学 师范学院,江苏 扬州 225000)
基于AutoIt3和VBA设计一种针对Excel操作题的自动批量批改程序框架.依据Excel操作技能考核要求对Excel操作题各小题划分评分点和对应分值,应用VBA实现单个学生Excel操作题自动批改程序,并应用AutoIt3实现多个学生Excel操作题自动批量批改程序.
应用程序自动化;AutoIt3;VBA;Excel操作题;自动批量批改
在“大学计算机信息技术”Excel应用软件的实验教学中,为了切实提高学生的实际操作技能,教师需要及时批改学生的Excel操作题实验作业并给出准确详细的批改信息反馈,针对Excel操作题的人工批改工作量大而造成的误判,设计一种Excel操作题自动批量批改程序框架,并应用AutoIt3和VBA具体实现.应用程序自动化,主要指应用软件操作步骤的自动化实施技术.AutoIt3是一种基于Windows平台的应用程序自动化技术,一种免费的BASIC风格的脚本语言,被设计用来自动化Windows图形用户界面和通用脚本编程[1].
虽然Excel操作题的每一小题都有多种操作手段(如:下拉式菜单、弹出式菜单、工具栏按钮、键盘快捷键、对话框设置等)、多样操作顺序可以实现同一效果,但观察许多教师人工批改Excel操作题实验作业之后,发现大多数教师是依据操作效果进行评分,因此,从操作效果角度入手设计Excel操作题的自动批改程序是符合实际的有效方法.VBA是一种原生嵌入Excel使用的编程语言,可以读取、设置Excel各类对象的属性,因此,应用VBA自动批改单个学生Excel操作题是较合适的选择.以此为基础,应用AutoIt3按学号逐个批改多个学生Excel操作题,实现对多个学生Excel操作题的自动批量批改程序.
原创设计的Excel操作题自动批量批改程序框架如图1所示,其中,“作业目录(课程&班级)”、“某Excel操作题自动批改宏代码”、“待批改的某Excel文件名”这三项由用户根据具体题目要求在运行程序前确定.至此,无论哪一道Excel操作题,只要用户给出这三项,就可以套用该程序框架实现针对具体某一道Excel操作题的自动批量批改程序.
图1 Excel操作题自动批量批改程序框架
在“大学计算机信息技术”课程[2]中选取一道Excel操作题,根据EX1.xls中的数据,执行如下操作:①在工作表“自然增长率”中,引用工作表“出生率”、“死亡率”的数据,计算各年度自然增长率(自然增长率=出生率-死亡率);②在工作表“自然增长率”中,设置表格外框线为最粗实线、内框线为最细实线;③在工作表“自然增长率”中,按自然增长率从高到低排序;④参考样张,根据自然增长率较高的前10位年度数据生成一张“簇状柱形图”,嵌入当前工作表中,要求分类(X)轴标志为年份数据,图表标题为“人口自然增长率”,无图例;⑤将工作簿以文件名:EX,文件类型:Microsoft Excel工作簿(*.XLS),存放于当前目录下.下面以该题为例,基于上文提出的程序框架,具体实现该Excel操作题的自动批量批改程序.
2.1 对Excel操作题划分评分点和对应分值
依据课程知识点考核要求对Excel操作题的每一小题划分评分点和对应分值.表1列出该道Excel操作题各评分点及分值.该题总分20分,若EX.XLS不存在,即Excel_05小题未完成,则该题不得分;只有Excel_03小题正确,Excel_04小题才有可能做对;如果工作表“自然增长率”中没有图表,则Excel_04小题不得分;若Excel_04_1图表数据不对,则Excel_04小题也不得分.
2.2 单个学生Excel操作题自动批改程序
应用VBA实现按评分点自动批改单个学生Excel操作题作业的程序.建议在程序开始处创建文本文件以保存批改意见、在程序结束处弹出对话框以显示该题成绩,既方便了调试,也有利于之后配合AutoIt3进行扩展.这里只选取Excel_03和Excel_04小题的自动批改宏代码,位于Excel_ AutoBatchCorrectReport_VBA.txt中,Excel操作题Excel_03和Excel_04小题VBA代码的程序为
2.3 多个学生Excel操作题自动批量批改程序
应用AutoIt3实现对多个学生所做Excel操作题的自动批量批改程序,最终程序源文件是Excel_ Auto Batch Correct Report.au3.程序文件清单如图2所示.
图2 程序文件清单
脚本文件Excel_Auto Batch Correct Report.au3主要功能有:①弹出程序启动画面;②由用户输入或直接设置“作业目录(课程&班级)”,例如:“C:大学计算机信息技术2013英教班”;③删除“C:Program FilesMicrosoft Office OFFICE11XLSTART”目录和“C:Documents and SettingsAdministratorApplication DataMicrosoft ExcelXLSTART”目录下的PERSONAL.XLS;④在当前用户应用数据目录下创建PERSONAL.XLS,创建新宏Excel_AutoBatchCorrectReport_VBA,位置为“PERSONAL.XLS(私人宏工作簿)”;⑤运行记事本软件,在中文输入法状态下,复制Excel_AutoBatchCorrectReport_VBA.txt中的代码到新建宏的VBA编辑器窗口中粘贴、保存;⑥由用户输入或直接设置“待批改的Excel文件名”,例如:“EX.xls”;⑦在作业目录下新建temp.txt,用作临时传递单个学生成绩;⑧在作业目录下新建Excel操作题成绩表文件,例如:“大学计算机信息技术_2013英教班_成绩.xls”;⑨统计作业目录下的学号文件夹数目$DirNum,得到提交Excel操作题作业的学生人数;按照有效学号顺序,依次进入每一个学号文件夹“XX”,循环执行以下三步:A)创建“XX批改报告.txt”;B)查询“操作题”中是否存在“EX.xls”,如果存在,则先打开PERSONAL.XLS,再打开EX.xls,执行宏Excel_AutoBatchCorrectReport_VBA,之后从temp.txt中获取该题成绩;如果不存在,则该题成绩为0,将该题批改意见写入“XX批改报告.txt”;C)将学号和该题成绩格式化写入Excel操作题成绩表尾部空行;删除PERSONAL.XLS;删除temp. txt; 弹出程序结束画面,询问是否自动打开Excel操作题成绩表文件.Excel操作题自动批量批改程序AutoIt3核心代码程序如下,此程序列出该脚本文件主要功能第10步的核心代码.
以扬州职业大学师范学院2013级英教班30名学生所做Excel操作题作业为实例,验证运行自动批量批改程序.学生的作业目录组织如图3所示.
图3 作业目录
在CPU为Pentium D 2.66 GHz、内存为512 MB、操作系统为Windows XP SP2简体中文版的PC上,首先,安装MS Office 2003简体中文版,默认中文输入法,调低宏安全性,设置*.xls默认关联程序为Microsoft Office Excel;然后,运行Excel_
AutoBatchCorrectReport.exe,很快就生成了所有学生的Excel操作题成绩,图4仅截取前3位学生的成绩作为示例,此外,还在每个学号文件夹中生成了一个“XX批改报告.txt”,图5选取第3位学生的批改报告作为示例.
Design of the Automatic Batch Correcting Program for Excel Operation Subjects Based on AutoIt3 and VBA
HE Jian
(Teachers' College,Yangzhou Polytechnic College,Yangzhou 225000,China)
This paper designs a sort of automatic batch correcting program framework for Excel operation subjects based on AutoIt3 and VBA.Firstly,according to the checking requirements of Excel operating skill,it divides the marking points and corresponding score for each subject of Excel operation subjects,and then it applies VBA to achieve the automatic correcting program for Excel operation subjects for every single student. Finally,it applies AutoIt3 to implement the automatic batch correcting program for Excel operation subjects for multiple students.
application automating;AutoIt3;VBA;Excel operation subjects;automatic batch correcting
TP391
A
1008-5475(2014)03-0017-05
2014-05-29;
2014-06-16
何 剑(1981-),男,江苏高邮人,讲师,硕士,主要从事应用程序自动化、计算机辅助教育研究.
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!