e cũng làm như mấy anh chỉ, nhưng có điều nó bị lỗi, ko biết nên giãi quyết như thế nào... mong máy a giúp đỡ..
2.jpg
[IMG][/IMG]
e cũng làm như mấy anh chỉ, nhưng có điều nó bị lỗi, ko biết nên giãi quyết như thế nào... mong máy a giúp đỡ..
2.jpg
[IMG][/IMG]
Hiện tại em đang học Wincc, phần xuất file excel chưa làm được. Lúc xuất ra, cửa sổ excel vừa hiện ra là tự tắt mất tiêu, trong thư mục đích để lưu file thì cũng không có file nào được tạo ra. Mò hai buổi tối rồi mà chưa ra
Đây là code VB xuất excel:Mong nhờ các sư huynh chỉ giáo với. Em gửi link bản project test. Huynh nào down về mở ra kiểm tra hộ em với. Rút cuộc là lỗi do đâu? Cách khác phụcSub OnClick(ByVal Item)
Dim objExcelApp
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Visible = True
objExcelApp.Workbooks.Open "G:\AUTOMATION\LAP TRINH\SCADA\tets excel.xlsx"
objExcelApp.Cells(10, 6).Value = ScreenItems("value1").OutputValue
objExcelApp.Cells(10, 7).Value = ScreenItems("value2").OutputValue
objExcelApp.Cells(10, 8).Value = ScreenItems("value3").OutputValue
objExcelApp.Cells(10, 9).Value = ScreenItems("value4").OutputValue
objExcelApp.ActiveWorkbook.Save
objExcelApp.Workbooks.Close
objExcelApp.Quit
Set objExcelApp = Nothing
End Sub
Bản test: http://www.mediafire.com/download/fo...ukwgr/test.rar
Nhân tiện gửi luôn link bản demo của một bạn bên dientuvietnam.net ( quên mất luồng nào, tìm mãi không thấy ). Sao bản test của em không nhập được giá trị vào, mà bản demo của bạn "ấy" lại nhập được?
Bản demo: http://www.mediafire.com/download/is...c1zs/demo2.rar
Mong các huynh chỉ ra cái sai của em
Lần sửa cuối bởi phuc_automation, ngày 07-04-2014 lúc 12:24 PM.
các anh cho em hỏi ? em xuất dữ liệu ra excel được rùi. h em muốn lưu dữ liệu ra excel 1 cách tự động thì phải làm sao ạ? nếu khi mất điện hệ thốn ngừng hoạt động thì ta vẫn có thể mở file excel để xem được dữ liệu cuối cùng? thanks all
Bạn có thể dùng trigger lưu theo chu kỳ
thanks a! em làm được cho nó xuất ra liên tục trong triger rùi. nhưng nó lại báo lỗi sql? chắc do key của wincc
Em có 1 đoạn code VB Script Lưu trữ dữ liệu từ WinCC Flex vào tập tin Excel bằng cách sử dụng VBScript : em đã chép nó vào Script WinCC Flex và đưa nó vào Event của IO Field, sau đó e tìm cái file Excel nó suất ra ở đâu em không biết.
Em cũng mới tìm hiểu VB Script nên đọc code chưa được hiểu rõ mong các anh trong diễn đàn giúp đỡ em.
Code VB Script: http://stackoverflow.com/questions/1...using-vbscript
Dim wsh, XLSrunning, TargetBookrunning, objExcelApp, objWorkbook, TheTargetBook, TheTargetBookName
Dim TheCount, theSheet, theCell, theLastCell, theLastRow
Dim objFSO
Const OverwriteExisting = 1
Set wsh = CreateObject("WScript.Shell")
'TheTargetBookName = "report.xls"
'TheTargetBook = "D:\Out\" & TheTargetBookName
TheTargetBookName = "report.xls"
TheTargetBook = "f:\work\plc\" & TheTargetBookName
TheTargetBookName = "c:\" & TheTargetBookName
'---------------[Modification#1_Begin]-------------------------------------------
Set objFSO = CreateObject("Scripting.FileSystemObject")
If Not objFSO.FileExists(TheTargetBook) Then
objFSO.CopyFile TheTargetBookName, TheTargetBook, OverwriteExisting
'HMIRuntime.Trace "The file," & TheTargetBook & ", does not exist." & vbCrLf & "I've just created one for you!"
End If
Set objFSO = Nothing
'---------------[Modification#1_End]--------------------------------------------
TheCount = GetObject("winmgmts:root\CIMV2").ExecQuery("SELECT * FROM Win32_Process WHERE Name='EXCEL.EXE'").Count
'While TheCount is bigger than 0, it means the Excel Application is running..., but doesn't mean the workbook is open for sure!
If TheCount > 0 Then
Set objExcelApp = GetObject(,"Excel.Application")
' Using GetObject(,"Excel.Application") to point to the running Excel Application.
TargetBookrunning = 0
For Each XLSrunning In objExcelApp.Workbooks
If XLSrunning.name = TheTargetBookName Then
TargetBookrunning = 1
End If
Next
If TargetBookrunning = 1 Then
Set objWorkbook = GetObject(TheTargetBook)
Else
Set objWorkbook = objExcelApp.Workbooks.Open(TheTargetBook)
End If
Else
Set objExcelApp = CreateObject("Excel.Application")
Set objWorkbook = objExcelApp.Workbooks.Open(TheTargetBook)
End If
objExcelApp.Visible = True
objExcelApp.ScreenUpdating = True
objExcelApp.DisplayAlerts = True
Dim TheTargetRow ' <------[Modification#2]-------
Set theSheet = objWorkbook.ActiveSheet
With theSheet
Set theCell = theSheet.Cells(65535,2)
Set theLastCell = theCell.end(-4162)
theLastRow = theLastCell.row
.cells(theLastRow + 1, 1) = formatdatetime( now,vbShortDate) & ", " & formatdatetime( now,vbLongTime)
.cells(theLastRow + 1, 2) = SmartTags("Tag_1")
.cells(theLastRow + 1, 3) = SmartTags("Tag_2")
.cells(theLastRow + 1, 4) = SmartTags("Tag_3")
End With
objWorkbook.Save
'objWorkbook.Close
Set objWorkbook = Nothing
'objExcelApp.Quit
Set objExcelApp = Nothing
'MsgBox "Done"
Set wsh = Nothing
Lần sửa cuối bởi vanviet, ngày 08-13-2014 lúc 11:54 PM.
Các anh cho em hỏi là em muốn xuất dữ liệu từ Wincc ra excel theo dạng sự cố . ví dụ là có 1 biến nào đó thay đổi thì nó xuất ra bảng excel ạ . mong mọi người giúpp đỡ ạ
.........................
Lần sửa cuối bởi vinhtdh, ngày 07-10-2015 lúc 10:09 AM. Lý do: :)
Đánh dấu