APP下载

基于AutoIt3和VBA的FrontPage操作题自动批量批改

2014-11-26

镇江高专学报 2014年3期
关键词:批量小题网页

何 剑

(扬州市职业大学师范学院,江苏扬州 225009)

在“大学计算机信息技术”FrontPage网页制作软件的实验教学中,为了提高学生的操作技能,教师需在短时间内人工重复批改大量的FrontPage操作题作业并给出准确的批改反馈。批改多份Front-Page操作题的工作量很大,且人工批改难免误判。针对该问题,本文提出一种FrontPage操作题自动批量批改程序框架,并应用AutoIt3和VBA具体实现。

AutoIt3是一种免费的BASIC风格的脚本语言,它组合使用模拟击键、鼠标移动、窗口/控件操作来实现任务的自动化[1],简而言之,AutoIt3就是一种基于Windows平台的应用程序自动化技术。而VBA是主要寄生于Microsoft Office应用软件中的一种应用程序自动化语言,用来扩展Office程序功能,提升Office应用效率。

1 设计程序框架

操作同一FrontPage操作题以完成同一效果有多种操作手段(下拉式菜单、工具栏按钮、键盘快捷键、设置对话框、弹出式菜单等)和操作顺序,但是,教师人工批改时大多是依据操作效果实施评分,所以设计实现FrontPage操作题自动批量批改程序也应该从操作效果自动判断入手。VBA可以寄生在FrontPage网页文件中读取各类对象的属性,因此,应用VBA自动批改单份FrontPage操作题是最好的选择。之后,再应用AutoIt3按学号顺序实现对多份FrontPage操作题的自动批量批改程序。

图1即是本文设计的FrontPage操作题自动批量批改程序框架。用户应用该框架具体实现某题的自动批量批改程序时,只需提供“作业目录(课程&班级)”“待批改的某些HTML文件名”“某FrontPage操作题自动批改宏代码”3项,减少了程序开发步骤,缩短了程序开发时间,有利于快速解决问题。

图1 FrontPage操作题自动批量批改程序框架

2 实现程序

从《大学计算机信息技术》教材[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操作题的自动批量批改程序。

2.1 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小题评分点及分值

2.2 单份FrontPage操作题的自动批改程序

针对该题,应用VBA中的Office对象模型[4]和FrontPage中的Page对象模型[5]按评分点实现单份FrontPage操作题的自动批改程序。为方便调试及扩展,建议在程序开始处创建文本文件以保存批改意见,在程序结束处弹出对话框以显示该题成绩。篇幅所限,这里只选取FrontPage_04小题的自动批改宏代码,位于 FrontPage_AutoBatchCorrectReport_VBA.txt中,如图2所示。

图2 FrontPage操作题FrontPage_04小题VBA代码

2.3 多份FrontPage操作题的自动批量批改程序

应用 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核心代码

3 运行程序

以扬州职业大学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位学生的批改报告

4 结束语

基于本文的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.

猜你喜欢

批量小题网页
批量提交在配置分发中的应用
基于HTML5与CSS3的网页设计技术研究
采用经济数控车床批量车削孔类工件的再实践
基于CSS的网页导航栏的设计
基于HTML5静态网页设计
基于URL和网页类型的网页信息采集研究
在数控车床上批量钻铰孔类工件的实践
考虑价差和再制造率的制造/再制造混合系统生产批量研究