我想实现的功能如下:
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