欢迎来到论文网! 识人者智,自知者明,通过生日认识自己! 生日公历:
网站地图 | Tags标签 | RSS
论文网 论文网8200余万篇毕业论文、各种论文格式和论文范文以及9千多种期刊杂志的论文征稿及论文投稿信息,是论文写作、论文投稿和论文发表的论文参考网站,也是科研人员论文检测和发表论文的理想平台。lunwenf@yeah.net。
您当前的位置:首页 > 科技论文 > 计算机论文

基于VBA的高级工考试自动评分研究_计算机论文

时间:2011-07-22  作者:秩名

论文导读::基于VBA的自动评分研究。该职业资格等级可以分为中级工、高级工、技师、高级技师。由于选择题等容易实现自动评分。
论文关键词:VBA,高级工,自动评分

 

0 引 言

大学计算机基础是公共课,很多班级在进行期末考试时,都要进行无纸化考试。单纯依靠人工阅卷,工作量大且效率低,由于选择题等容易实现自动评分,所以计算机基础中的操作题的自动评分工作就显得非常重要[1]。对于计算机专业的学生来说,有的要进行相关的资格考试,计算机系统管理员就是其中一种。该职业资格等级可以分为中级工、高级工、技师、高级技师。

计算机系统管理员的高级工考试是一种资格认证考试,可以基于C/S模式考试,考生通过登录网站计算机论文,随机抽取试卷,进行第一部分判断题、单项选择题、多项选择题的答题,再下载第二部分操作题,内容主要有:OS、Word、Excel、PowerPoint、FrontPage和Network,进行答题后保存到指定的文件夹中。 服务器端上安装Server 2003和SQL Server,题库和学生的信息及成绩都在SQL Server数据库中。

学生在做完第一部分后,系统可以自动评分并记录下来,第二部分操作题却不能自动评分,需要教师手工在电脑上阅卷,费时费力。因此,对操作题部分的自动评分能够提高阅卷的效率和准确性。从考试内容上可以看出,Word、Excel、PowerPoint和FrontPage都属于Office的内容,他们之间有许多是相通的。文献[2]探索了office文档操作自动阅卷评分技术。

1 基于VBA的自动评分研究

通常可以认为VBA(VisualBasic for Applications)是非常流行的应用程序开发语言Visual Basic的子集,有了一定的VB知识对于学习VBA非常方便免费论文。但是两者之间有一些不同,VB是独立的程序开发语言,开发的程序可以脱离开发环境独立运行,而VBA则要依赖于已有的应用程序,但针对性强,能使应用程序自动化。

1.1 VBA

VBA是标准宏语言,是基于Visual Basic forWindows 发展而来的。与传统的宏语言不同计算机论文,VBA 提供了面向对象的程序设计方法,作为一种通用的宏语言可被所有的Microsoft 可编程应用软件所共享。

VBA重要特点之一是面向对象。对象是类的具体实例。在VBA中对象是封装有数据和代码的客体。例如在Word中,一段连续的区域可以记为Range对象,用户可以在VBA程序代码中为Range对象赋值。VBA提供了一个基本的编程环境和功能强大的接口,如Windows 的API、ADO、COM 等,使Office 应用软件的功能得到扩充。90%的用户只用到了Word全部功能的10%,这些未用到的功能的开发,很多都是和VBA分不开的[3]

1.2 Word对象自动评分

Word中有很多的对象,常用的主要有:Document对象,表示引用一个文档;Range 对象,表示引用文档中的某一连续区域;Words对象,表示引用文档中的某一单词;Characters对象,表示引用文档中的某一字符;Sentences对象,表示引用文档中的某一句子;Paragraphs对象,表示引用文档中的某一段落;Sections 对象,表示引用文档中的某一节。例如:打开文档,Documents.Open Filename=”C:\mydocuments\ wvba.doc”;保存一篇现有文档,Documents(“test.doc”).save;关闭文档,并以test.doc保存,可以写成Documents(“test.doc”).closesavechanges=wdsavechanges。选中整篇文档且文档中没有分节的,可以写成ActiveDocument.Section(1)。选择某一区域计算机论文,如该文档的第一段到第四段,可以写成:Set ww=CreateObject(“Word.Application”), Set dd=ww.Documents.open(“C:\mydoucuments\wba.doc”,readonly=false), Set myRange = ActiveDocument.Range(start= dd.Praraghs(1). Range.start, End=dd.Paragraphs(4).Range. End)。以高级工中比较常见的文档设置为例说明,题目要求:第一段字体为“黑体”,字号为“二号”,添加“波浪线”,对齐方式为“居中”。第二段正文部分首行应缩进2个字符。如图1所示:

自动评分

图1 Word试题

控件按钮“交卷”的程序代码如下表1所示。

表1 程序代码及其含义

 

程序代码

含义

Private Sub CommandButton1_Click()

Dim str1 As String

Dim point As Integer

Set para1 = ActiveDocument.Paragraphs(1)

Set para2 = ActiveDocument.Paragraphs(2)

If para1.Range.Font.Name = "黑体" Then

point = point + 20

Else

str1 = str1 + "标题字体为黑体" + vbCrLf

End If

If para1.Range.Font.Size = 22 Then

point = point + 20

Else

str1 = str1 + "标题字号为二号" + vbCrLf

End If

If para1.Range.Font.Underline = wdUnderlineWavy Then

point = point + 20

Else

str1 = str1 + "标题没有加波浪线" + vbCrLf

End If

If para1.Alignment = wdAlignParagraphCenter Then

point = point + 20

Else

str1 = str1 + "标题应居中" + vbCrLf

End If

If para2.FirstLineIndent = CentimetersToPoints(0.35) Then

point = point + 20

Else

str1 = str1 + "正文首行应缩进2字符" + vbCrLf

End If

str1 = str1 + "你的得分为" + Str(point) + "分"

MsgBox str1, vbOKOnly, "提示"

End Sub

设置一个提交按钮

定义变量str1和point

激活文档的第1段和第2段

判断第1段的字体

判断第1段的字号

判断第1段波浪线

判断第1段是否居中

判断第2段是否首行缩进

显示得分和错误提示

如果第1段“希望”两个字体设置为“楷体”,第二段也就是正文首行没有缩进,则自动提示如图2所示。说明标题字体应该设置为黑体,正文首行应缩进2字符,得分为60分,表示其余三项设置正确。

图2 判分结果

1.3 Excel对象

Excel中的对象大部分与Word中类似,也有一些不同。Excel中有常见的单元格、行和列、工作表等对象。

Excel对象的层次结构,每一个对象处于一个选定的对象层次中,除了Application外,每一个对象都是由高层次的对象派生出来的[4]。Excel中的工作薄、工作表、菜单栏、工具栏、窗体和数据等都有相应的对应进行描述。程序设计主要集中在五个对象上:Application,Workbook(s),Worksheet(s),Range,Chart免费论文。例如:选中A1到B10这一区域,Dim myRange AS Range, SetmyRange=worksheets(“sheet1”).Range (“A1:B10”),给工作表“员工资料表”的E1单元格添加“技术工资”内容,可以写成WorkSheets(“员工资料表”).Cell(1,5). text=”技术工资”,给sheet3工作表的A4单元格添加公式计算A1到A3单元格的数值和,可以写成WorkSheet(“sheet3”).Range(“A4”).Formula=” $A$1+$A$4”计算机论文,保存当前的工作薄可以写成ActiveWorkbook.closesavechanges=True。

2 实例研究

在VB环境下,对Excel操作题进行自动评分可以按以下步骤进行。选择【工程】菜单->【引用】,添加Microsoft Excel9.0 object Library。根据Office版本的不同添加不同的对象库,office2010也支持VBA。

题目要求:打开考盘文件夹下的文件Efile2.xls,在“员工基本情况”工作表中的“部门代号”后面增加一“部门”列,然后根据员工所属的部门代号填入每个员工所属的部门名称。(部门名称与部门代号的对应关系为:T01是工程部,T02为研究部,T03为开发部)要求用函数实现。

程序的部分代码如下:

Set dd =Workbooks.Open("C:\高级工考盘\Excel\Efile2.xls ")

Worksheets("员工基本情况").Activate

IfRange("C1").Text = "部门" Then

tempnumber = tempnumber + 20

str1 = "插入一列正确,"

Else

str1 = "插入一列错误,"

End If

Range("C2").Select

If ActiveCell.FormulaR1C1 = "=IF(RC[-1]=""T01"",""工程部"",IF(RC[-1]=""T02"",""研究部"",""开发部""))" Then

tempnumber = tempnumber + 80

str1 = str1 + "公式正确。"

Else

str1 = str1 + "公式错误。"

End If

当只插入了一“部门”列,没有用函数实现公式的时候,程序的代码和运行如图3所示,显示结果为“插入一列正确,公式错误,你的得分是20分”。

自动评分

图3 插入一列正确,公式错误时的判分结果

当插入了一“部门”列,也用函数实现公式的时候,程序的代码和运行如图4所示,显示结果为“插入一列正确,公式正确,你的得分是100分”。

自动评分

图4 插入一列正确计算机论文,公式也正确时的判分结果

3 结束语

总之,VBA 易于掌握,可以使用宏记录器录制自己的常用重复的操作,再将其转换为VBA 代码,在VB开发环境中加以修改,使应用程序自动化,降低了工作强度,在高级工试卷的自动评分中高效快速,下一步可以再运用到PowerPoint等程序中。因此,对于在工作中需要经常使用Office 软件的用户,用VBA 有助于使工作自动化,提高工作效率。另外,程序开发人员可以通过VBA直接高调用Office软件的各项功能,开发更加方便快捷。


参考文献:
[1]吴亚坤,郭海旭.Office文档自动评分的研究与实现[J].辽宁大学学报(自然科学版), 2008,35(4):336-337.
[2]廖恩杨.面向对象对Office文档操作自动评分[J]. 计算机应用,2002, 22(8):119-120.
[3]杨晓亮.Word VBA 高效排版范例应用[M]. 北京:中国青年出版社,2005.
[4]Excel Home. Excel VBA 实战技巧精粹[M]. 北京:人民邮电出版社,2008.
 

 

查看相关论文专题
加入收藏  打印本文
上一篇论文:基于RTLINUX的实时以太网研究_通信延时
下一篇论文:基于XMLSchema公共协议信息交换的研究_期刊网
科技论文分类
科技小论文 数学建模论文
数学论文 节能减排论文
数学小论文 低碳生活论文
物理论文 建筑工程论文
网站设计论文 农业论文
图书情报 环境保护论文
计算机论文 化学论文
机电一体化论文 生物论文
网络安全论文 机械论文
水利论文 地质论文
交通论文
相关计算机论文
最新计算机论文
读者推荐的计算机论文