在Excel中设计试卷生成系统_第1页
在Excel中设计试卷生成系统_第2页
在Excel中设计试卷生成系统_第3页
在Excel中设计试卷生成系统_第4页
在Excel中设计试卷生成系统_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、 在Excel中设计试卷生成系统作为一名教师,经常要经历考试、出卷这个过程。虽然“无纸化”考试已经开始被大家所了解,但真正实现的学校却不多。作为一名信息技术教师,我希望能够利用计算机开发出一套简单实用、可以自动生成试卷的系统,把大家从繁琐的出卷过程中解放出来。考虑到试卷要打印出来,我没有选择VB,而是选择了大家都很熟悉的Excel2000,利用其中的VBA脚本语言来实现试卷的自动生成。系统实现的功能组卷方式为章节控制方式。保证各章节的分值不易失衡,根据出题者的要求,按章节随机从题库中抽题组卷。格式化试卷(包括设置试卷标题、进行页面设计、添加页眉等),达到可以直接打印的要求。题库中试题内容与参考

2、答案融为一体,由系统生成的试卷文档既可以打印出学生考试用卷,也可以打印出样卷。构建题库-?-4时盂*=*-TOC o 1-5 h z、*心,fr*t3tir吐中壮Fi:TT-T*12*T!b屯岸m#thl-Sa.旷咄*甲曽卅朴4#riit*T-?-J_?l1.:*.?*=:*-亠pf*!更!1.x汕54.t、卞-卄=ISmctlsAAunt勺玉曲Acst:ilir即胃iirtt(.jIaw,-.1-ltJ十注十匸列r33uH珂IT理召屯歸K!.fmi*H$Fl-i-.giI-ExcelSt鼻电帝eWK里面的宏命令。其中的关键代码主要是自己编制的,有些辅助功能采用录制宏的方法实现。本系统的组卷方

3、式为按照各章节要求的题目数自动随机组卷,所以核心代码部分为三个方面:按照用户要求产生符合要求的随机数,并把该数存储于一个数组中,产生的随机数就是选中题目的序号;按要求把所选记录复制到Sheet2工作表中,并转换成我们常见的试卷模式;格式化试卷。生成随机数本系统中的随机数主要是标志出现在试卷中题库记录的位置,例如我们随机产生了一个数99,表示题库中第99条记录是我们试卷中的一个题目。关于随机数的要求:一是生成的数必须不能重复,这样就避免试卷中重题的出现;二是生成的数必须在给定的范围里产生,如图2所示要求,第一章的题目范围是1117,所以我们产生的10个随机数必须是在1117之间的不能重复的数。具

4、体实现代码如下:产生一定范围的随机数我们用RND()函数,我们把产生的这个函数赋予临时变量j,其中的fanwei(1,1),fanwei(1,2)为图2中D、F列中相应值。j=Int(Rnd()*(fanwei(l,2)-fanwei(l,1)+1)+fanwei(l,1)产生不重复的随机数。我们采用的方法是用新产生的数和前面产生的数分别比较,如果不同就直接记入数组id(),如果有相同的话重新再生成,然后再比较,如此循环。Fori=1Totimu(l)a:j=Int(Rnd()*(fanwei(l,2)-fanwei(l,1)+1)+fanwei(l,1)id(i)=j避免产生重复的随机数Fo

5、rk=1Toi-1Ifj=id(k)ThenGoToa:Elseid(i)=jEndIfNextk按产生的随机序列组卷上述第一步中我们已经选择好了试卷的题目,这里需要做的就是把选择好的题目复制到Sheet2工作表中并转换成我们常见试卷的样式,这里我们采用循环的方式,先是按顺序把题目从题库中复制到Sheet2工作表中,然后把选项A、B、C、D分别放在不同的行上,重复这个过程直到完成。复制记录到Sheet2中Range(Cells(id1(i),1),Cells(id1(i),6).SelectSelection.CopySheets(Sheet2).SelectRange(Cells(i,1),

6、Cells(i,1).SelectActiveSheet.Paste转换成为我们常见试卷的样式Range(Cells(i,3),Cells(i,3).SelectApplication.CutCopyMode=FalseSelection.CutDestination:=Range(Cells(i+1,2),Cells(i+1,2)Range(Cells(i,4),Cells(i,4).Select+2,2),Cells(i+2,+3,2),Cells(i+3,Selection.CutDestination:=Range(Cells(i2)Range(Cells(i,5),Cells(i,5

7、).SelectSelection.CutDestination:=Range(Cells(i2)Range(Cells(i,6),Cells(i,6).SelectSelection.CutDestination:=Range(Cells(i+4,2),Cells(i+4,2)Range(Cells(i+4,2),Cells(i+4,2).Select格式化试卷添加试卷标题并设置标题的字体字号和样式Range(A1:B1).SelectActiveCell.FormulaR1C1=200-200学年度信息技术期末考试WithActiveCell.Characters(Start:=1,Len

8、gth:=20).Font.Name=宋体.FontStyle=加粗 sizeH24ffimM回萍w&njl:I*I-s-T=?:Jixk.Jt-止4UJ-*钊3询FHu*_WIH磚-F-tnFW肾杲B-.papersizeHx-papeB4二二WifhAaivesheehpagesefupLeffHeaderH=cenCDrHeaderH= .RightHeader=.LeftFooter=.CenterFooter=.RightFooter=添加页脚一nnWithActiveSheet.PageSetup.CenterFooter=第&P页,共&N页至此本系统的主要内容已经制作完成。生成试

9、卷的操作非常简单,我们只要在Sheet3工作表中输入条件值,然后按Ctrl+d”执行即可。最后生成的试卷如图3所示。本系统在Windows98+Excel2000下调试通过。(河北唐山师范学院玉田分校于得海)该系统题库采用Excel表格的形式,字段名分别为“标准答案”、“题干”、“答案、“答案”、“答案”、“答案”(如图1)。题库中的记录可以采用两种方法来录入:1.直接手工录入:打开工作簿,在题库工作表中可以直接输入题目2.从已有题库文件中导入到Excel题库里面,比如可以从现成的Access题库中直接导入到该题库里。但是无论哪种方法都必须满足下面的条件:所有的题目按章节排序,并记录每一章节题目的起始位置,以后向题库里面添加记录时不能在文件尾追加,而是要放到所属章节的位置,并修正试卷生成界面里相应的地方。建立试卷生成界面所谓试卷生成界面就是系统提供给用户的用于输入各种条件值的地方,本系统是由用户设定各章节所出题目的个数,因此界面比较简单。我们把工作簿中的Sheet3工作表设计为系统界面(如图2)。在该界面下用户只要在B列相应单元格中输入每个章节的题目数(例如,第一、二章都出10个题,就在B1、B2单元格里分别输入10,没有出题的章节后面可以为空白,如图2所示),然后按“Ctrl+D”组合键执行宏命令就可以生成试

温馨提示

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

评论

0/150

提交评论