利用全局腳本將數(shù)據(jù)等時間段寫入EXCEL指定的單元格內(nèi)
劉玉蓉
發(fā)布于2014-09-15 17:47
81
0
標(biāo)簽:
想利用全局腳本VB來實(shí)現(xiàn)等時間段將所需的數(shù)據(jù)寫入EXCEL指定的單元格內(nèi),例如:想當(dāng)變量TAG1等于1時開始,每隔半個小時將TAG2變量的值寫入EXCEL的(1,1)單元格內(nèi),想問下這個每隔半個小時怎么弄,還需要設(shè)置觸發(fā)器之類的什么嗎?
佳答案
觸發(fā)時間自己定義 腳本如下:
Option Explicit
Function action
On Error Resume Next
Dim objExcelApp,oWorkBook,fs,iBlankLine
Set objExcelApp = GetObject(,"Excel.Application")
If VarType(objExcelApp)<>vbEmpty Then
objExcelApp.ActiveWorkbook.Save
Set oWorkBook = objExcelApp.Workbooks.Open("d:每小時記錄.xls")
iBlankLine = oWorkBook.SheetS(1).Columns(1).Find("").Row
objExcelApp.sheets(1).Cells(iBlanKLine, 1).Value = Now()""HMIRuntime.Tags("date").Read
objExcelApp.sheets(1).Cells(iBlanKLine, 2).Value = HMIRuntime.Tags("@CurrentUser").Read
objExcelApp.ActiveWorkbook.Save
Else
Set fs =CreateObject("Scripting.FileSyStemObject")
Set objExcelApp = CreateObject("Excel.Application")
objEXcelApp.VIsible = False
If fs.FileExiSts("d:每小時記錄.xLs") then
Set oWorkBook = objExcelApp.Workbooks.Open("d:每小時記錄.xls")
iBlankLine = oWorkBook.SheetS(1).Columns(1).Find("").Row
objExcelApp.sheets(1).Cells(iBlanKLine, 1).Value = Now()""HMIRuntime.Tags("date").Read
objExcelApp.sheets(1).Cells(iBlanKLine, 2).Value = HMIRuntime.Tags("@CurrentUser").Read
Else
Set oWorkBook =objExcelApp.WorkBooks.Add
oWorkBook.SaveAs "d:每小時記錄.xls "
Set oWorkBook = objExcelApp.Workbooks.Open("d:每小時記錄.xls")
objExcelApp.Workbooks.Open ( "d:每小時記錄.xls" )
objExcelApp.sheets(1).CeLls(1, 1).Value ="時間"
objExcelApp.sheets(1).CeLls(1, 2).vaLue ="用戶"
End If
objExcelApp.ActiveWorkbook.Save
objExcelApp.Workbooks.Close
obJexcelApp.Quit
Set objExcelApp = Nothing
End If
End Function