何 剑
(扬州市职业大学师范学院,江苏扬州 225009)
在“大学计算机信息技术”FrontPage网页制作软件的实验教学中,为了提高学生的操作技能,教师需在短时间内人工重复批改大量的FrontPage操作题作业并给出准确的批改反馈。批改多份Front-Page操作题的工作量很大,且人工批改难免误判。针对该问题,本文提出一种FrontPage操作题自动批量批改程序框架,并应用AutoIt3和VBA具体实现。
AutoIt3是一种免费的BASIC风格的脚本语言,它组合使用模拟击键、鼠标移动、窗口/控件操作来实现任务的自动化[1],简而言之,AutoIt3就是一种基于Windows平台的应用程序自动化技术。而VBA是主要寄生于Microsoft Office应用软件中的一种应用程序自动化语言,用来扩展Office程序功能,提升Office应用效率。
操作同一FrontPage操作题以完成同一效果有多种操作手段(下拉式菜单、工具栏按钮、键盘快捷键、设置对话框、弹出式菜单等)和操作顺序,但是,教师人工批改时大多是依据操作效果实施评分,所以设计实现FrontPage操作题自动批量批改程序也应该从操作效果自动判断入手。VBA可以寄生在FrontPage网页文件中读取各类对象的属性,因此,应用VBA自动批改单份FrontPage操作题是最好的选择。之后,再应用AutoIt3按学号顺序实现对多份FrontPage操作题的自动批量批改程序。
图1即是本文设计的FrontPage操作题自动批量批改程序框架。用户应用该框架具体实现某题的自动批量批改程序时,只需提供“作业目录(课程&班级)”“待批改的某些HTML文件名”“某FrontPage操作题自动批改宏代码”3项,减少了程序开发步骤,缩短了程序开发时间,有利于快速解决问题。
图1 FrontPage操作题自动批量批改程序框架
从《大学计算机信息技术》教材[2]中选取一道FrontPage操作题。网页制作所需素材存放于“操作题Web”中,按下列要求进行操作:
1)打开站点“Web”,编辑网页 index.htm,将文字“键盘的发展”设置为交替式字幕,方向向右,字幕样式中字体格式为黑体,36 pt,红色。
2)为表格中的文字“大嘴小史”“口形初探”“三口之争”和“口口相传”建立超链接,分别指向网页中的同名书签(书签已建立)。
3)设置网页index.htm的背景颜色为Hex={FF,FF,CC},背景音乐为 music.mid,循环播放。
4)设置网页过渡效果为圆形收缩,进入网页时发生,周期为2 s。
5)将所有修改过的网页以原文件名保存,文件均存放于Web站点中。
下面以该题为例,基于上述程序框架,具体实现该道FrontPage操作题的自动批量批改程序。
首先,依据FrontPage操作技能考核要求对该FrontPage操作题的每一小题划分评分点和对应分值[3]。该题总分20分,若index.htm不存在,扣20分。对于FrontPage_01小题,只有当字幕“键盘的发展”存在时,才可以判断该小题全部5个评分点是否正确。FrontPage_03小题中,只有网页源码中存在背景音乐标签<bgsound>,才可以判断FrontPage_03_2是否正确,只有FrontPage_03_2正确,才可以判断FrontPage_03_3是否正确。FrontPage_04小题中,只有FrontPage_04_1正确,才可以判断FrontPage_04_2是否正确,只有FrontPage_04_2正确,才可以判断FrontPage_04_3是否正确。限于篇幅,这里只列出FrontPage_04小题评分点及分值,如表1所示。
表1 FrontPage_04小题评分点及分值
针对该题,应用VBA中的Office对象模型[4]和FrontPage中的Page对象模型[5]按评分点实现单份FrontPage操作题的自动批改程序。为方便调试及扩展,建议在程序开始处创建文本文件以保存批改意见,在程序结束处弹出对话框以显示该题成绩。篇幅所限,这里只选取FrontPage_04小题的自动批改宏代码,位于 FrontPage_AutoBatchCorrectReport_VBA.txt中,如图2所示。
图2 FrontPage操作题FrontPage_04小题VBA代码
应用 AutoIt3[6]和 FrontPage中的 Web 对象模型[7]实现多份FrontPage操作题的自动批量批改程序,最终程序源文件是FrontPage_AutoBatchCorrectReport.au3。程序文件清单如图3所示。
图3 程序文件清单
脚本文件 FrontPage_AutoBatchCorrectReport.au3主要功能步骤有:
1)弹出程序启动画面。
2)由用户输入或直接设置“作业目录(课程&班级)”,例如“C:大学计算机信息技术2013英教班”。
3)由用户输入或直接设置“待批改的某些HTML文件名”,例如“index.htm”等。
4)运行FRONTPG.EXE,打开VBA编辑器,插入Module2模块。
5)运行记事本软件,在中文输入法状态下,复制 FrontPage_AutoBatchCorrectReport_VBA.txt中的代码到VBA编辑器Module2模块中粘贴、保存,生成FrontPage_AutoBatchCorrectReport_VBA宏过程。
6)新建temp.txt,用于临时传递成绩。
7)新建FrontPage操作题成绩表文件,例如“大学计算机信息技术_2013英教班_成绩.xls”。
8)统计作业目录下的学号文件夹数目Dir-Num,即提交FrontPage操作题的学生人数。
9)按照有效学号顺序,依次进入每一个学号文件夹“XX”,循环执行以下3步:首先,创建“XX批改报告.txt”。其次,查询“操作题web”中是否存在“index.htm”等待批改的HTML文件,若 index.htm 存在,则先打开Web站点,再打开index.htm,运行Module2中的宏过程FrontPage_AutoBatchCorrectReport_VBA,之后从 temp.txt中获取该题成绩;若 index.htm不存在,则该题成绩为0,批改意见写入“XX批改报告.txt”。最后,将学号和该题成绩格式化写入Front-Page操作题成绩表文件。功能代码如图4所示。
10)运行FRONTPG.EXE,删除Module2模块。
11)删除 temp.txt。
12)弹出程序结束画面,询问是否自动打开FrontPage操作题成绩表文件。
图4 FrontPage操作题自动批量批改程序AutoIt3核心代码
以扬州职业大学2013英教班30位学生所做FrontPage操作题为素材(作业目录如图5所示),以安装Windows XP SP2简体中文版、MS Office 2003英文版(默认中文输入法)的PC为程序运行平台,首先,设置本机*.htm和*.html默认编辑程序为Microsoft Office FrontPage,运行 FrontPage软件,建议关闭上次打开的站点,调低宏安全性,进入VBA编辑器,移去所有ModuleX模块,然后,运行FrontPage_AutoBatchCorrectReport.exe,很快生成并保存所有学生的FrontPage操作题成绩(图6截取前3位学生的成绩作为示例),另外,在每个学号文件夹中生成了一个“XX批改报告.txt”(图7选取第2位学生的批改报告作为示例)。
图5 作业目录
图6 前3位学生的FrontPage操作题成绩
图7 第2位学生的批改报告
基于本文的FrontPage操作题自动批量批改程序框架,教师可以轻松实现FrontPage操作题的自动批量批改程序。实验表明,多份同一FrontPage操作题作业或试卷的自动批量批改相比人工重复批改效率更高,批改反馈更准确,批改误判率接近于零。
[1]BENNETT J,AutoIt Consulting Ltd.AutoIt automation and scripting language[EB/OL].(2013-12-30)[2014-04-28].http://www.autoitscript.com/site/autoit/.
[2]孙华峰.信息技术实验指导[M].北京:高等教育出版社,2013:170.
[3]张亮.面向自动阅卷的网页比对系统设计和实现[J].江苏警官学院学报,2010,25(3):197-200.
[4]Microsoft Corporation.Microsoft Office 2003 Edition VBA Language Reference[PC/DK].C:Program FilesMicrosoft OfficeOFFICE111033vbaof11.chm,2004-07.
[5]Microsoft Corporation.Microsoft FrontPage(Page Object Model)Visual Basic Reference[PC/DK].C:Program FilesMicrosoft OfficeOFFICE111033vbafpd10.chm,2004-07.
[6]BENNETT J,AutoIt Team.AutoIt online documentation[EB/OL].(2013-12-30)[2014-05-12].http://www.autoitscript.com/autoit3/docs/.
[7]Microsoft Corporation.Microsoft FrontPage(Web Object Model)Visual Basic Reference[PC/DK].C:Program FilesMicrosoft OfficeOFFICE111033vbafpw10.chm,2004-07.