2011-12-30

2011-12-30
2011年12月30日
  用vbs来操作Excel
  最近,班主任要 做学生的 学分认定表格,一个学生一份,每个学生又学了 N(n>=15) 课,每门课还要打n个分....
  嫌手工输入太麻烦,做此小程序,用vbs来操作excel对象,实现自动化输入...
  仓促所作,望批评指正...
  'code by youxi01@bbs.bathome.net
  '2008-1-17于***第一中学
  '/*///初始设定///
  Dim MyStr,fso,f,j_num
  str0="班级:高二 18 班 "
  str1="姓名:"
  str2=" 学号:200610"
  str3=" 时间:2007 ―― 2008 学年"
  msg1="学生档案文件name.txt不存在!"&vbcrlf&vbcrlf&"请按照 姓名(Tab)学号 格式,将信息保存到当前目录"
  msg2="学分认定模板文件Module.xls不存在!"&vbcrlf&vbcrlf&"请将模板文件拷贝到当前目录,并更名。"
  '/*/以下用#隔开的数字为要填学分的位置/
  j_num="6#7#10#11#14#15#18#20#22#24#26#28#29#30#40#42"
  num=split(j_num,"#") '按 # 分割
  '/*//创建excel对象///
  Set objExcel=CreateObject("Excel.Application")
  '/*==========打开文件对象==========================
  Const ForReading = 1, ForWriting = 2
  Set fso = CreateObject("Scripting.FileSystemObject")
  pfolder= fso.Getfile(wscript.scriptfullname).parentfolder
  if right(pfolder,1)="\" then pfolder=left(pfolder,len(pfolder)-1)
  '/*==========检测配置文件是否存在==================
  if not fso.FileExists("name.txt") then msgbox msg1,48,"出错了!":Wscript.quit
  if not fso.FileExists("module.xls") then msgbox msg2,48,"出错了!":Wscript.quit
  if not fso.FolderExists("★学生学分认定★") then fso.CreateFolder("★学生学分认定★")
  '/*//学生姓名和学号保存文件//
  Set f = fso.OpenTextFile("name.txt", ForReading)
  Do While f.AtEndOfLine True
  str=f.readline '读文本文件的一行
  MyStr=split(str," ",-1) '按 “ ” 分割字符
  if Clng(MyStr(1))<10 then '如果学号数小于10#则自动在前面添加0;
  Mystr(1)="0"&Mystr(1)
  end if
  str=str0&str1&MyStr(0)&str2&MyStr(1)&str3
  if not fso.FileExists(pfolder&"\★学生学分认定★\"&Mystr(0)&".xls") then
  En=inputbox("请设置 "&Mystr(0)&" 的成绩","学分认定")
  if En="" then objExcel.quit:wscript.quit '如果选择了取消,就退出程序;
  '/*/设置表格操作对象
  set objWorkbook=objExcel.Workbooks.Open(pfolder&"\module.xls") '###模板excel###
  Set objWorksheet = objWorkbook.Worksheets(2)
  objWorksheet.Cells(2,1).Value=str '设置学生姓名,学号;
  for i=0 to 15
  Randomize '初始化随机数生成器
  Res=Int((5 * Rnd)) + En '随机数字;
  objWorksheet.Cells(10,clng(num(i))).value=Res '将随机内容填入表格;
  next
  '##########保存地点##############
  objWorkbook.SaveAs pfolder&"\★学生学分认定★\"&Mystr(0)&".xls" '按学生名字保存xls文件;
  else
  msgbox Mystr(0) &" 的成绩已经存在!"
  end if
  objExcel.quit '退出excel对象;
  loop
  f.Close
  objExcel.quit
  复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值