Dim tagValue, objExcel, objWorkbook, objSheet, filePath filePath = "D:\Report.xlsx" ' 1. 读取WinCC变量值 'tagValue = HMIRuntime.Tags("colour").Read ' 2. 创建Excel对象 Set objExcel = CreateObject("Excel.Application") 'objExcel.Visible = False ' 可设为True调试时查看Excel界面 ' 3. 打开或创建工作簿 Dim fso Set fso = CreateObject("Scripting.FileSystemObject") If fso.FileExists(filePath) Then Set objWorkbook = objExcel.Workbooks.Open(filePath) Else Set objWorkbook = objExcel.Workbooks.Add() End If Set objSheet = objWorkbook.Sheets(1) '表格清零 'With objWorkbook.ActiveSheet ' .Range(.Cells(1, 1), .Cells(10, 35)).ClearContents 'End With '4. 读取EXCEL值给WINCC变量(例如写入第2行第2列) ' 读取单元格数据 tagValue = objSheet.Cells(2, 2).Value ' 将数据写入WinCC变量 SmartTags("Display_1") = tagValue ' 4. 写入变量值(例如写入第2行第1列) 'objSheet.Cells(2, 1).Value = Now ' 写入当前时间 'objSheet.Cells(2, 2).Value = tagValue ' 写入变量值 ' 可选:设置表头 'objSheet.Cells(1, 1).Value = "时间" 'objSheet.Cells(1, 2).Value = "变量值" ' 5. 保存并退出 'oExcel.DisplayAlerts=False '设置单元格是否可见 objExcel.Visible = False objExcel.DisplayAlerts = False objWorkbook.SaveAs filePath objWorkbook.Close objExcel.Visible = True objExcel.Quit ' 6. 释放对象 Set objSheet = Nothing Set objWorkbook = Nothing Set objExcel = Nothing Set fso = Nothing