wincc 写xls文件

怎样向一个已经打开的xls文件写数据。
 wincc创建的xls文件可能被用户打开,此时wincc无法向xls文件写入数据,怎么解决这个问题。
 谢谢了。

最佳答案

通常操作xls文件的流程是CreateObject("Excel.Application")、然后是WorkBooks.Open(xxx),如果EXCEL文件已打开,可使用如下脚本:
 On Error Resume Next '#必加,否则GetObject会报错
 Dim oExcelFile,oExcel,oWorkBook,oSheet
 oExcelFile= "D:\MyFile.xls"
 Set oExcel = GetObject(,"Excel.Application") '#试图获取已经打开的EXCEL进程
 'MsgBox TypeName(oExcel)
 If VarType(oExcel)=vbEmpty Then '#如果未找到EXCEL进程,则由CreateObject新建
  Set oExcel = CreateObject("Excel.Application") '#新建EXCEL进程
 End If
 Set oWorkBook = oExcel.workbooks("MyFile.xls") '#试图获取已经打开的Excel文件
 'MsgBox TypeName(oWorkBook)
 If VarType(oWorkBook)=vbEmpty Then '#如未找到,则有Open打开Excel文件
  Set oWorkBook =  oExcel.workbooks.OPen(oExcelFile) '#打开Excel文件
  'MsgBox oExcelFile & " Open Succeed!"
 End If
 Set oSheet = oWorkBook.Sheets("Sheet1")
 '.............对表进行操作

提问者对于答案的评价:
多谢!!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc275724.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午11:49
下一篇 2019年6月11日 上午11:49

相关推荐