incc 7.0 生成excel报表vbs脚本追加excel数据记录问题

On Error Resume Next
Dim xlApp,xlBook,oExcelFile
oExcelFile = "D:\日报表模板.xlsx"   '全部代码只需改变文件的路径就可以,其他不用作任何改动
Dim isXlsOpen
isXlsOpen = False
Set xlApp = GetObject(,"Excel.Application") '获取EXCEL进程
If TypeName(xlApp) <> "Application" Then '检测到有Excel进程已经打开
 Set xlApp = CreateObject("Excel.Application")
End If
xlBookFind= False
For Each oBook In xlApp.WorkBooks '循环检查Excel进程打开的Workbooks
 'MsgBox xlBook.FullName
 If oBook.FullName = oExcelFile Then '如果路径与所检查的文件一致
  Set xlBook = oBook
  xlBookFind = True
  Exit For
 End If
Next
If xlBookFind=False Then '#如果没有找到
xlApp.Visible=True'要打开的文件是否显示或是在后台运行
 Set xlBook = xlApp.Workbooks.Open(oExcelFile)
 xlApp.worksheets(sheetname).activate
End If

Dim tag5h2so4,tagshijian,sheetname
 sheetname="sheet1"
 Set tag5h2so4=HMIRuntime.Tags("Minute")
 tagshijian=Now
 tag5h2so4.read
 xlApp.Worksheets(sheetname).cells(tag5h2so4.value+4,1).value=tagshijian

以上脚本每一分钟触发一次,模板表格打开后,从第二条记录开始总是有重新打开模板表格,而不是在已经存在的表格里继续往下添加,我试着改了,但没有改好。。。高手帮忙看看是什么原因啊

最佳答案

If TypeName(xlApp) <> "Application" Then ''检测到有Excel进程已经打开
这句有问题,应该是检测Excel.Application吧!
我没有按照你这样的做法做过,我一般是添加一次记录后就保存文件,然后下载检测保存的路径下是否有该文件,如果没有,则打开模板,否则就打开该文件插入新的记录。

提问者对于答案的评价:
大侠,能不能把你的实例发我一份,按你所说的思路,每次都检测是否已经有文件存在,有的话,打开文件添加记录,没有的话打开模板添加。。。我文件是按当前日期存放的。。。请大侠帮帮忙吧  邮箱315485815

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月2日 下午3:16
下一篇 2018年12月2日 下午3:17

相关推荐