发布于 2009-12-02 21:45:39
26楼
Option Explicit
Function action
Dim TimeM
Dim objExcelApp,Timedate,timedate1
Set TimeM = HMIRuntime.Tags("TimeM")
TimeM.Read
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Visible = False
objExcelApp.Workbooks.Open"E:\ExcelExample.xls"
Dim i
For i=3 To 26
objExcelApp.Cells(i, 2).Value = 100
Timedate1=CStr(Year(Now))&"-"&CStr(Month(Now))&"-"&CStr(Day(Now))&"-"&CStr(Hour(Now))&":"&CStr(Minute(Now))&":"&CStr(Second(Now))
objExcelApp.Cells(i, 1).Value = Timedate1
objExcelApp.ActiveWorkbook.Save
If i = 26 Then
Timedate=CStr(Year(Now))&"年"&CStr(Month(Now))&"月"&CStr(Day(Now))&"日"&CStr(Hour(Now))&"-"&CStr(Minute(Now))&CStr(Second(Now))
objExcelApp.ActiveWorkbook.SaveAs "E:\Report"&Timedate&".XLS"
End If
Next
objExcelApp.Workbooks.Close
objExcelApp.Quit
Set objExcelApp = Nothing
End Function
我的想法是当TimeM"分钟"有变化时上述VBS脚本运行一次,然后根据i值往相应的单元格中写一次数据,然后推出,下一次触发时再写一次数据,直至TimeM发生24次变化后即当i=26时完成填写Execl作业并另存为一份Excel文件。
可是,执行的效果确实触发一次后VBS从i=3起循环值i=26止,然后另存文件之后推出,再触发再执行本行所述。
要达到我预想的效果需要在何处修改??请同志们指教。
没有烟抽的日子我就抽红叶。