php考试自动评分,excel操作题自动评分

一、操作题目要求

在文件Excel01的Sheet1中完成如下操作:

(1)A1:E1内单元格跨列居中,字体设置为黑体、18磅、蓝色。

(2)按公式:学期成绩=期中成绩*30%+期末成绩*70%,计算学期成绩。

(3)表格数据区域单元格外边框红色双线,内边框蓝色双线,水平、垂直居中,底纹为黄色。

做Excel操作题目,实际上是对Excel文件的某些内部属性值进行设置,如字体、颜色、对齐方式等。

如果能够通过某种方法获取这些属性的变化情况或变化值,再借助VB编程来做出判断就可以为Excel操作

题目进行评分了。

二、夯实宏录制策略

打开Excel做题文件,单击“工具”菜单→宏→录制宏→确定,开始按照题目要求进行操作。操作完

毕后保存文件,停止宏录制。再单击“工具”菜单→宏→Visual Basic编译器,展开模块,双击模块项即

可得到宏录制代码。

三、VB编程完成评分

1.引用组件,创建Excel应用对象

打开VB程序同时引用组件:Microsoft Excel 9.0 Object Library、Microsoft ActiveX Data

Objects 2.0 Library、Microsoft Office 9.0 Object Library。

用以下语句创建应用:

Set ep=CreateObject("Excel.App lication")'创建一个Excel应用对象。

Set ep=GetObject(App.Path+"\ EXCEL01.XLS")'ep返回指定Excel文件,即ep就是文件EXCEL01.XLS

2.水平对齐方式的判断

用ep.Worksheets("sheet1").Range("A1:E1").HorizontalAlignment来表示A1至E1范围的水平对齐方

式值,如果值与xlCenter Across Selection相等就给分,否则不给分,再用一个变量来累积分数,一个

变量来记录每一步的评分显示内容。语句如下:

With ep.Worksheets("sheet1")

If .Range("A1:E1").HorizontalAlignment = xlCenterAcrossSelection Then

a = a + "1、跨列居中得分:" + "1分" + Chr(13)'a表示评分显示内容

f = f + 1'f表示分数

Else

a = a + "1、跨列居中得分:" + "0分" + Chr(13)

End If

End With

3.字体、字号和颜色设置的判断

得出对齐方式的判断方法以后,字体、字号和颜色设置的判断就不难得出:

Range("A1:E1").Font.Name = "黑体"

Range("A1:E1").Font.Size = 18

Range("A1:E1").Font.ColorIndex = 5

4.按照公式计算的判断

宏录制代码中出现了“ActiveCell”关键词,通过“对象浏览器”查询得知“ActiveCell”返回一个

Range对象。该对象代表指定窗口的活动单元格, “ActiveCell”就指 “Range("E3")”。又因每个单元

格所用公式是一致的,逐一判断公式是否正确就可以了。

If(.Range("E3").FormulaR1C1="=RC[-2]*30%+RC[-1]*70%"and.Range("E4").FormulaR1_C1_ =

"=RC[-2]*30%+RC[-1]*70%" and …) Then

5.表格边框设置及底纹颜色的判断

表格边框采用的是左右上下、中间垂直、中间水平分别判断的方法。整个表格数据的范围是A2至E9,

所以“Selection”指的是“Range("A2:E9")”。“Range("A2:E9").Borders

(xlEdgeLeft).LineStyle=xlDouble'”指的是A2至E9范围左边框的线型是双线型;“Range

("A2:E9").Borders(xlEdgeLeft).ColorIndex=3'”指的是A2至E9范围左边框的颜色是红色。其他位置边

框设置的判断采用同样的办法来进行。对齐方式的判断也是如此。底纹颜色的判断也非常容易得到:

Range("A2:E9").Interior.ColorIndex = 6

6.完成其余部分的编程

把以上语句综合起来,添加到一个按钮的“单击事件”中,再加上如下代码就可以对整道题目进行评

分,并显示出评分结果了。

MsgBox a + Chr(13) + "最后得分:" + CStr(f) + "分", , "自动评分"

当然,还需要一个“打开本题”按钮来打开Excel文件,代码如下:

Dim oe As Object

Set oe = CreateObject("Excel.Application")

oe.Visible = True'Excel应用可见

oe.Workbooks.Open FileName:=App.Path + "\EXCEL01.XLS"'打开要操作的文件

Excel自动评分系统的效果图如下:

总体来说,VB与宏录制相结合制作Excel操作题目评分软件的核心思想是:利用宏录制。在宏录制代

码中得出正确的属性变化情况或变化值,再用VB编程获取做题文件相应的属性变化情况或变化值并与正确

值进行比较,得出评分结果。对于Excel题目其他操作项目的评分也是如此,可以根据宏录制代码进行分

析处理,自由发挥。

除了Excel操作题目可以编写评分程序外,其他的软件如Word、PowerPoint操作题目都可以用同样的

办法来编写评分软件。只是在Word评分软件进行宏录制的时候,不能用鼠标操作而只能用键盘操作。

哪位大侠能帮忙把这段文字描述的内容做出来啊。初学EXCEL+VBA,不太懂,望各位大侠指教,不胜感激。

相关资源:试卷自动评分系统
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页