-
Thành viên cấp 3
Gửi bởi
daocongdabl
Dim objExcelApp
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Visible = True
'ExcelExample.xls is to create before executing this procedure.
'Replace with the real path of the file ExcelExample.xls.
objExcelApp.Workbooks.Open "D:\baocao.xls "
objExcelApp.Cells(2, 2).Value = SmartTags(" volt")
objExcelApp.Cells(2,3).Value = SmartTags(" ampe")
objExcelApp.Cells(2, 4).Value = SmartTags(" luu_luong")
objExcelApp.ActiveWorkbook.SaveAs "D:\ bao cao + hàm ngày +hàm giờ là ok"
objExcelApp.Workbooks.Close
objExcelApp.Quit
Set objExcelApp = Nothing
code trên test chạy ok với wincc flexible ,wincc chưa thử ,nhưng mình thấy phần trên code cũng giống hệt wincc thôi
bạn phải tạo 1 bít xung từ phần mềm hay từ wincc cũng ok
cứ 1 phút hoặc 1 giờ... thì gọi code một lần ,cứ 1 lần gọi thì thì wincc ghi giá trị xuống exel(kiểu này thích hợp xuất theo phiếu báo cáo)
còn muốn xuất kiểu data thì thêm chút mắm muối vào code trên cứ 1 lần bít xung on thì số liệu từ wincc sẻ ghi xuống 1 hàng ngang tương ứng
và cứ thế tạo xung 24 lần (1 lần là tương ứng 1 giờ )thì có số liệu trong bảng ghi xuống exel báo cáo đầy đủ cả 24 hàng tương ứng 1 giờ
còn bạn thấy dòng code "D:\ bao cao + hàm ngày +hàm giờ là ok"
nói lên là tên file lưu trử sẻ bằng ngày tháng năm .nếu qua ngày hôm sau sẻ tự động có 1 file khác tương ứng thôi
chúc bạn thành công
nói chung mấy kiến thức này tự mình sẻ ngâm lấy đi ,nó là kiến thức nâng cao của hệ thống scada
nên hầu như không ai chỉ cụ thể đâu ,chỉ đúng hướng cho mình ngâm cứu là quá ok rồi ,chẳng qua gì nồi cơm thôi các bác ạ
anh ơi . a có thể cho em hỏi là . nếu muốn xuất báo cáo từng ngày . mỗi ngày hoặc mỗi giờ nó tự xuất 1 file riêng lẻ . em ko hiểu cách dùng lệnh "ActiveWorkbook.Saveas " lém ạ .
Dim EportExcel,Bom1,Bom2,Dem1 ' khai bao 5 bien
Set Bom1 =HMIRuntime.Tags("Bom1")
Set Dem1 =HMIRuntime.Tags("Dem1")
Set Bom2 =HMIRuntime.Tags("Bom2")
' doc du lieu cua Tags "Bom1...."
Bom1.Read
Set EportExcel = CreateObject("Excel.Application")
'EportExcel.Visible = True ' mo Excel
EportExcel.Workbooks.Open "C:\Users\Vinh\Desktop\vinh.xlsx" ' mo file Excel theo duong dan "C:\Users\Vinh\Desktop\vinh.xlsx
EportExcel.Cells( 12 , 5).Value = Now
'EportExcel.Cells( Dem.Value, 2).Value = Hour (Time)& ":" &Minute(Time)& ":" &Second (Time)&"_"&Day(Date)&"/"&Month(Date)&"/"&Year(Date)
EportExcel.Cells( 12 , 6).Value = Bom1.Value
EportExcel.Cells( 13 , 6).Value = Bom2.Value
EportExcel.ActiveWorkbook.Save ' luu file Excel
'EportExcel.ActiveWorkbook.SaveAs "D:\vinh\Minute(Time)$ &Second (Time)& &Day(Date).xlsx
EportExcel.ActiveWorkbook.Saveas "E:\vinh" & Minute(Time)&Second (Time)&Day(Date) & ".xlsx"
EportExcel.Workbooks.Close
EportExcel.Quit ' dong excel
'If Dem1.Value<>0 & Bom1.Value=0 Then
'Dem1.Value=0
'End if
Set EportExcel = Nothing
Lần sửa cuối bởi vinhtdh, ngày 07-11-2015 lúc 06:50 PM.
Lý do: sfeffe
-
Tag của Chủ đề này
Quyền viết bài
- Bạn Không thể gửi Chủ đề mới
- Bạn Không thể Gửi trả lời
- Bạn Không thể Gửi file đính kèm
- Bạn Không thể Sửa bài viết của mình
-
Nội quy - Quy định
Back to Top
Múi giờ GMT +7. Bây giờ là 08:27 AM.
Phiên bản 4.2.5
Phát triển bởi thành viên PLCVietNam®.
Đánh dấu