求关于自动按日期生成EXCEL的VBS脚本和自动打印

我想实现的功能如下:
 1.每天00:00:00的时间自动生成一个当日(如:2009-08-19.xls)的Excel文件名;
 2.在每个整点的时候按格式将数据自动记录到该Excel表格之内
 3.当日最后一次记录,也就是23:00:00时,将该表格自动打印。
 现有以下几个关键点尚未实现,请高手指点:
 1.我已经能够通过读取系统时间生成Excel的格式如XLSName=”D:\data\2009-08-19.xls",但不知如何生成EXCEL文件
 2.在整点时用如下的条件能否成功记录8点整的数据
 dim time_hour,time_minute,time_second
 set time_hour=hour(time)
 set time_minute=minute(time)
 set time_second=second(time)
 if time_hour=8&&time_minute=0&&time_second=0 then
 '将数据写入Excel表格的语句
 end if
 3.如何编写excel,假如为xlsname.xls的自动打印vbs程序
 请高手指教,小弟不胜感激

最佳答案

Excel文件可不自动生成,你可以自己建一个Excel模板,放在一个目录下,比如D:\data\report.xls,到了整点的时候就把它复制过来使用.
  Dim fso,myfile,fname
  Set fso = CreateObject("scripting.FileSystemObject")
  Set MyFile = fso.GetFile("D:\data\report.xls")
  fname="D:\data\" & FormatDateTime(Date,2) & ".xls"
  MyFile.Copy(fname)
  然后每个整点往里面写数据:
  Dim fso,fname
  Set fso = CreateObject("scripting.FileSystemObject")
  fname="D:\data\" & FormatDateTime(Date,2) & ".xls" 
  Dim ObjExcelApp
  Set objExcelApp = CreateObject("Excel.Application")
  objExcelApp.Workbooks.Open fname
  objExcelApp.worksheets ("sheet1").Cells(2, 2).VAlue = HMIRuntime.Tags("tag1").read
  objExcelApp.worksheets ("sheet1").Cells(3, 2).VAlue = HMIRuntime.Tags("tag1").read
  objExcelApp.worksheets ("sheet1").Cells(4, 2).VAlue = HMIRuntime.Tags("tag1").read
  objExcelApp.ActiveWorkbook.Save
  objExcelApp.Workbooks.ClosE
  objExcelApp.QuiT
  Set ObjEXceLapp = Nothing
  打印直接用objExcelApp.Workbooks.print就可以了.
  程序都放在全局脚本里面.比如可以写三个全局脚本
  复制表格一个脚本,每日执行一次
  写数据一个脚本,每小时执行一次
  打印一个脚本,每天执行一次

提问者对于答案的评价:
非常感谢,非常感谢!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc272243.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午8:59
下一篇 2019年6月11日 上午8:59

相关推荐