有需要的朋友留名联系...
功能说明:能够自动生成相应班级学生的各模块考试成绩(在相应范围内随机生成);自动统计;自动给出等级...
使用说明:
1、本文件的正确执行需要两个配置文件:mudule.xls和name.txt,其中module.xls主要为学校给出的学分认定的模板文件(稍微改动),name.txt内容包括学生姓名,学号,该给的成绩范围
格式为:
姓名 学号 学分
中间以tab键隔开(可直接从xls文件中复制)。
2、录入成绩数值设置在 25 -55 之间
输入25,则产生的随机成绩在:60 - 70 分间,输入 55 产生的成绩则在: 90-100 分间。
程序代码如下: | | | | | | | | | | | | | | | Set objExcel=CreateObject("Excel.Application") | | Set fso = CreateObject("Scripting.FileSystemObject") | | Const ForReading = 1, ForWriting = 2 | | | | str0="班级:高二 " | | str1=" 班 姓名:" | | str2=" 学号:" | | str3=" 时间:2007 —— 2008 学年" | | | | Anum="6#7#10#11#14#15#18#20#22#24#26#28#29#30#40#42" | | num=split(Anum,"#") | | | | msgName="学生档案文件name.txt不存在!" | | msgModule="学分认定模板文件Module.xls不存在!" | | msgResult="注意:请设置成绩在 25-55 之间,输入55对应产生的成绩在 90-100 分" | | | | | | Function CheckValue(value) | | CheckValue=true | | if IsNumeric(value)<>true then CheckValue=false:exit function | | if value<25 or value>55 then CheckValue=false | | End Function | | | | Function InputNum(msg) | | value=inputbox(msg&" 的成绩输入有误:"&mystr(2)&vbcrlf&vbcrlf&"请输入一个 25-55 的数值","输入错误") | | if CheckValue(value)=false then mystr(2)=value:InputNum(msg) | | InputNum=value | | End Function | | | | Function CheckFile(name) | | if not fso.FileExists(name) then | | msgbox "配置文件: "& name &" 不存在",48,"出错了!" | | wscript.quit | | end if | | End Function | | | | Function GetPFolder(obj) | | GetPFolder=fso.GetFile(obj).parentfolder | | if right(GetPFolder,1)="\" then GetPFolder=left(GetPFolder,len(GetPFolder)-1) | | End Function | | | | CheckFile("name.txt") | | CheckFile("module.xls") | | oParentFd=GetPFolder(wscript.scriptfullname) | | | | ClassName=inputbox("请输入班级:"&vbcrlf&vbcrlf&"注:输入数字,如:10","班级输入") | | FolderName="高二 ("&ClassName&") 班学生学分认定" | | if not fso.FolderExists(FolderName) then | | fso.CreateFolder(FolderName) | | else | | msgbox "文件夹:"&FolderName&" 已经存在,请确认删除!",48,"学分认定--提示信息" | | end if | | | | Set f = fso.OpenTextFile("name.txt", ForReading) | | Do While f.AtEndOfLine <> True | | str=f.readline | | mystr=split(str," ",-1) | | | | set objWorkbook=objExcel.Workbooks.Open(oParentFd&"\module.xls") | | Set objWorksheet = objWorkbook.Worksheets(2) | | TipInfo=str0&ClassName&str1&mystr(0)&str2&mystr(1)&str3 | | objWorksheet.Cells(2,1).Value=TipInfo | | if CheckValue(mystr(2))=false then mystr(2)=InputNum(mystr(0)) | | | | for i=0 to 15 | | Randomize | | Res=Int((10 * Rnd-5)) + mystr(2) | | objWorksheet.Cells(10,clng(num(i))).value=Res | | next | | objWorkbook.SaveAs oParentFd&"\"&FolderName&"\"&mystr(0)&".xls" | | objExcel.quit | | loop | | f.Close | | objExcel.quitCOPY |
 |