恭喜,你发布的帖子
发布于 2017-02-02 08:26:31
24楼
Sub OnClick(ByVal Item)
'On Error Resume Next
Dim oExcel
Dim oWorkBook
Dim oSheet
Dim oFso
Dim sSheetName
Dim sPath
Dim sFileName
Dim sNewFileName
Dim sNewPath
Set oFso=CreateObject("Scripting.FileSystemObject")
sPath=HMIRuntime.ActiveProject.Path
sFileName=sPath & "ywx.xlsm"
sNewFileName=Year(Now)&"-"& Right("0" & Month(Now),2)&"-"& Right("0"&Day(Now),2)
sNewFileName=sNewFileName & " " & Right("0"& Hour(Now),2)&"."& Right("0"&Minute(Now),2)
sNewFileName=sNewFileName & ".xlsm"
sNewPath=sPath & "USERDATA" & sNewFileName
Set oExcel=GetObject(,"Excel.Application")
If VarType(oExcel) = vbEmpty Then
Set oExcel=CreateObject("Excel.Application")
End If
Set oWorkBook = oExcel.workbooks (sNewFileName)
If VarType(oWorkBook)= vbEmpty Then
If oFso.FileExists.FileExists(sNewPath)=True Then
Set oWorkBook = oExcel.workbooks.OPen(sNewPath)
Else
Set oWorkBook = oExcel.workbooks.OPen(sFileName)
oWorkBook.saveas.sNewPath
End If
End If
oExcel.visible=True
Set oSheet=oWorkBook.Sheets("Sheetl")
HMIRuntime.DataSet.Remove("oExcel")
HMIRuntime.DataSet.Add "oExcel", oExcel
HMIRuntime.DataSet.Remove("oSheet")
HMIRuntime.DataSet.Add "oSheet", oSheet
Set oFso = Nothing
'Sub OnClick(ByVal Item)
'On Error Resume Next
Set oExcel = HMIRuntime.DataSet.Item ("oExcel").Value
Set oSheet = HMIRuntime.DataSet.Item ("oSheet").Value
oSheet.cells(6,4).value=HmiRuntime.tags("alarmmsgtext1").Read ’此处测试新加
oSheet.cells(3,4).value="4546456" ’此处测试新加
'For i = 1 To 100
'If IsEmpty(oSheet.cells(i,1).value) = True Then
'Exit For
' End If
'Next
'If i < 100 Then
'oSheet.cells(i,1).value = Now
'oSheet.cells(i,2).value = iol.OutputValue
'oSheet.cells(i,3).value = io2.OutputValue
'Else
'MsgBox "I>100"
'End If
'Sub OnClick(Byval Item)
'On Error Resume Next
Set oExcel = HMIRuntime.DataSet.Item("oExcel").Value
Set oSheet = HMIRuntime.DataSet.Item("oSheet").Value
oExcel.DisplayAlerts = False
oExcel.activeWorkbook.save
oExcel.activeWorkbook.close
oExcel.quit
Set oSheet = Nothing
Set oExcel = Nothing
HMIRuntime.DataSet.Remove("oExcel")
HMIRuntime.DataSet.Remove("oSheet")
End Sub
REN圣你好,按照你三张图片输进同一个脚本后,还是不能够把变量写进外部EXCEL文件中。你看看什么地方有错误?
那个第一行的on error resume next不要注释掉,注释掉的话,如果EXCEL没有打开会出错,然后就不执行了
如果只是在一段脚本里面往EXCEL里面单词写数据的话,没必要用这种形式的了
参考我下面帖子里面的脚本:
http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1257592&b_id=5&s_id=17&num=95#anch
1楼 1 和2 的图片
请填写推广理由:
分享
只看
楼主