用VB程序实现对学生Excel作业的批量评分-文档_第1页
用VB程序实现对学生Excel作业的批量评分-文档_第2页
用VB程序实现对学生Excel作业的批量评分-文档_第3页
用VB程序实现对学生Excel作业的批量评分-文档_第4页
用VB程序实现对学生Excel作业的批量评分-文档_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、用VB程序实现对学生Excel作业的批量评分在Excel教学过程中,我们要在多媒体电子教室收取学生作 业。而在课堂上,对学生的课堂作业要进行及时批改评分是很费时间的。这样就不能客观公正的对学生及时进行评价,对教学中存在的问题不能及时发现。怎样才能对学生的作业及时批改评 分,笔者查阅了有关vb程序自动化控制Excel的有关资料,编 写了一个小系统,可以对学生的 作业进行评分。1系统实现的关键技术1.1自动化控制自动化使应用程序能够对另一个应用程序中实现的对象进行操作,或者将对象公开以便可以对其进行操作。自动化服务器是向 其他应用程序(称为自动化客户端)公开可编程对象(称为自动化对 象)的应用程序

2、。自动化服务器有时称为自动化组件。许多Microsoft的应用程序是自动化服务器,包括Access、Word> Excel、PowerPoint、FrontPage等。这意味着您可以 再使用 这些特色丰富的应用程序作为您的应用程序的服务器。公开自动化对象使客户端能够直接访问通过服务器可用的对象和功能,从而自动完成某些过程。当应用程序提供的功能对其他 应用程序有用时,这样公开对象是有益处的。要让vb编写的程序作为客户端,Excel程序作为应用程序服务器,让vb程序能自动化控制Excel程序,首先应在vb程序 中引 用Microsoft Excel类型库。方法是:从“工程”菜单中选 择“引用

3、” 命令;选择 Microsoft Excel 11. 0 Object Libraryoffice 2003不同的版本,库的版本也不一样);选择“确定”。然后,在vb程序中创建Excel向用户公开的对象,在通用对象的声明 过程中定义 Excel 对象:Excel. ApplicationExcel. WorkBook 、 Excel. Worksheet 、 Range> chart 等。Excel. Application 对象相当 Excel 应用程序,Excel. WorkBook对象对应于用户工作簿,Excel. Worksheet对象对应于工作表,range对象是选取的区域,

4、chart对象对应于图表。这样,vb程 序就 可以通过Excel服务器实现对对象的自动化控制,完成对对 象的属性 的提取或判别。这也是实现对学主作业评分的最关键的技术。例如:将al: el单元格区域字体设置为楷体以下为宏代码Range (A1:E1). SelectWith Selection. Font . Name = 楷体 _GB2312 . FontStyle = 常 规 .Size = 14 .Strikethrough = False .Superscript = False.Subscript = False . OutlineFont = False . Shadow = Fa

5、lse .Underline = xlUnderlineStyleNone .Colorindex = xlAutomaticEnd With提取转换后的评分代码是Range (A1:E1).SelectIf Selection. Font. Name 二楷体 GB2312" then zf=zf+lelse ss=ss+ ”字体设置不正确”如果正确设置了,那么总分增加一定的值,否则,将出错原因记录在字符串SS中1. 3公共对话框的应用要批量选择学生作业工作簿,需要设计批量选取工作簿文件的对话框,这会增加很大的工作量。Visual basic提供了通用对话框(common dialo

6、g box )控件,使得设计对话框十分方应将其添 加到工具箱中。具体方法是在“工程”菜单中选“部 件”命令,打开“部件对话框。在“部件”对话框的“控件”选 项卡中,从列出的控件 中找到 microsoft commondialog control便。在默认情况下,通用对话框控件不在工具箱中。在使用之前,6.0,使在前面复选框中打下 “,再单击“应用”按钮,通 用对话框就出现在在工具箱中,就可以使用该控件了。2系统的实现2.1 系统的功能模块系统有四个模块,分别是:选择评分工作簿:选取要批量评分的学生工作簿; 评分:批量对学生的Excel作业进行评分,并把学生的姓名、总分和出错原因写入“评分.x

7、ls ”工作 簿 出:退出系统。中;查看结果:打开“评分.Xis”工作簿,查看评分的结果;退2.2 调用通用对话框批量选取学生作业工作簿的实现通用对话框可以提供6种不同形式的对话框,本系统使用 的是打开对话框。为了批量选取学生作业工作簿,将对话框的 fiags设置为512,运行时允许用户选取多个文件,所选的工作 簿的路径和文件名在CommonDiaiogl. FiieName中,文件名之间 以空格分隔。本系统将提取出路径和工作簿的文件名保存在数组 myfiiename 中。为了便于记录成绩,学生作业工作簿用自己的 姓名作为文件名。Private Sub Command3_Ciick()Comm

8、onDiaiogl. DiaiogTitie = 打开文件 CommonDiaiogl. ShowOpen J CommonDiaiogl. Fiiter = 所有文件 (*. *) |*.*|工作簿(*. Xis) *. XisCommonDiaiogl. Flags = 512 '允许多选 myfiienamel = CommonDiaiogl. FiieNameFor i = 1 To Len(myf i1ename1)If Mid$(myfilenamel, i, 1) Then myfilename(j)myfilename(j) + Mid$(myfilenamel, i,

9、 1) Else j = j + 1Next i将文件名置于数组中多文件时取出各个文件名和路径置于数组中,第一单元是路径;单文件时取出文件及路径名在数 组的 第一单元中End Sub2.3 对学生作业进行批量评分并记录的实现首先创建一个Excel. Application对象,并用open方法打开“评分.xls ”工作簿对象,并激活工作表“ sheetl ”对象,并 选择“ sheetl ”的所有单元格,清除单元格的内容,并在第一行的 三个单元格中输入“姓名”、“总分”、“出错原因”。因为 对单个学 生作业和对多个学生作业进行评分时,提取文件名的方 法不同,所以分 成两部分,一部分是对多个学生

10、作业,进行评分,另一部分是对一个 学生进行评分。因为两部分只有提取文件名有一些不同,所以本文只 介绍对多个学生作业进行评分的部分。创 建一个循环,每循环一次打 开一个学生作业工作簿对象,并激活工作表对象(Worksheet ),选择 其中的对象rang > cells > chart等对象,把对象的属性或状态和题目 所要求的对象的属性或状态 进行比对,主要是用判断语句,如果正确, 则总分加一定分值。如果出错,则将出错原因存入字符串 SS中。最后,激活“评分.Xis ”工作簿对象的“ sheetl ”对象,将结果写入激活“评分.xls ”工作簿对象的“sheetl ”对象的单元格 中

11、。循环结束,则将完成对所有学生的批量评分,并将结果记录在“评分xls ”中以下是程序代码:Pubiic j As IntegerPubiic myfiienamel As StringPubiic myfiiename(100) As String一个班最多 100 个学生)Dim aa As Excei. ApplicationDim bb As Excei. WorkbookDim bbl As Excei. WorkbookDim cc As Excei. WorksheetDim ccl As Excei. WorksheetDim ss As StringPrivate Sub Co

12、mmandl_Ciick()If j >= 2 ThenSet aa = CreateOb ject (Z/Excei. Appiication/Z) aa. Visibie = True评分.XLS)Set ccl = bbl. Worksheets (z/sheetlz/)ccl. Activate ccl.Cells.SelectSelection. Clearccl. Cells (1,1)姓名总分出错原因ccl. Cells (1, 2)ccl. Cells (1, 3)For m = 2 To j myfilenamel = myfilename (1) & myfi

13、lename (m)时取出各个文件名置于数组中,第一单元是路径,其它各单元 多文件 是打开要评分文件名Set bb = aa.Workbooks. Open(myfilenamel)的学生作业文档Set cc = bb. Worksheets (z,sheetl,z) zf = 0 记录总分 SS ='记录出错原因Forml. ShowRange (bl5).SelectIf Selection. Formula = =SUM(B3:B14) Then zf = zf + 1Else ss = ss + "1计算不正确End IfRange (f3).SelectIf Sel

14、ection. Formula = =(B3+C3+D3+E3)/3 Then zf = zf + 1Else ss=ss + 2计算不正确End IfIf Selection. NumberFormat =$礼 #0. 000;$-#, #0. 000 Thenzf = zf + 1Else ss = ss + 数据格式不正确End IfRange (A1:el).SelectIf Selection. HorizontalAlignment =xlCenterAcrossSelection Thenzf = zf + 1Elsess = ss + "设置了跨列居中不正确"

15、;End IfIf Selectio n. F on t. Name = 楷体 GB2312 Thenzf = zf + 1Elsess=ss + 设置了楷体不正确End IfIf Selection. Font. Size = 18 Then zf = zf + 1Else ss = ss + 设置字号不正确End IfIf Selection. Font. Colorindex = 5 Then zf = zf + 1Else ss = ss + ”设置了字符颜色错误End If ccl. Activate 11 = Len(myfi1ename(1) 12 =Len (myf i 1 ename 1) ccl. Cells (m, 1) = Mid$ (myf ilenamel, 11 + 1, 12 - 11-4)'学生作业用学生自己的名字命名,取得学生姓名ccl. Cells (m, 2) = zf c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论