使用excel记录数据

我想实现使用excel记录wincc变量数据的功能,每次打开excel后在新的一行相同列里写入数据,即不能覆盖原有数据。下面这个程序只能每次把变量写在第一行,不能实现写入下一行的功能,请问如何修改?
 Dim objExcelApp
 Set objExcelApp = CreateObject("Excel.Application")
 objExcelApp.Visible = False ‘True
 objExcelApp.Workbooks.Open "d:\ExcelExample.xls"
        objExcelApp.Cells(1, 1).Value = ScreenItems("tag1").OutputValue
        objExcelApp.Cells(1, 2).Value = ScreenItems("tag2").OutputValue
        objExcelApp.Cells(1, 3).Value = ScreenItems("tag3").OutputValue
 objExcelApp.ActiveWorkbook.Save
 objExcelApp.Workbooks.Close
 objExcelApp.Quit
 Set objExcelApp = Nothing

问题补充:
谢谢大家的帮助,我用的dcount107的方法已经解决了,城外之人的办法也不错。只是我运行程序时发现一个问题,这个ExcelExample.xls文档需要事先在d盘建立,如果没有建立的话,运行时会报错,说没有找到这个文档,请问如果我想让程序自己建立excel文档的话如何解决?

最佳答案

呵呵,在开始写数时首先要获取第一列空行iBlankLine,然后再进行写入操作

  Dim objExcelApp,oWorkBook
  Set objExcelApp = CreateObject("Excel.Application")
  objExcelApp.Visible = False ‘True
  Set oWorkBook = objExcelApp.Workbooks.Open("d:\AA.xls")
  Dim iBlankLine 
  iBlankLine = oWorkBook.ActiveSheet.Columns(1).Find("").Row ‘查找第一列的空行
  ‘MsgBox iBlankLine
   objExcelApp.Cells(iBlankLine, 1).Value = ScreenItems("tag1").OutputValue
   objExcelApp.Cells(iBlankLine, 2).Value = ScreenItems("tag2").OutputValue
      objExcelApp.Cells(iBlankLine, 3).Value = ScreenItems("tag3").OutputValue
  oWorkBook.Save
  objExcelApp.Workbooks.Close
  objExcelApp.Quit
  Set objExcelApp = nothing

  补充:Set oWorkBook = objExcelApp.Workbooks.Add
 oWorkBook.SaveAs "D:\ExcelExample.xls"
 即可新建。但这不是完美的解决方法,通过fso组件首先判断这个文件是否存在再决定打开还是创建。fso的代码很多,自己搜索吧!

提问者对于答案的评价:
谢谢,已经解决!

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

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

相关推荐

  • 谁知道WINCC7.0 与NET有中文的没有呀

    谁知道WINCC7.0 与NET有中文的没有呀 给我个地址或补丁吧 最佳答案 wincc7.0亚洲版是中文的,SIMATIC NET软件没有中文版。w…

    SIMATIC WinCC 2019年6月11日
  • 怎样通过安卓或IOS(即手机或平板)访问WINCC?

    请问如何通过安卓或IOS访问 WINCC RT,可在平板上进行调用WINCC画面并操作!通过何种功能实现,谢谢! 最佳答案 可以做到,现在智能手机或者平板可以登…

    SIMATIC WinCC 2017年11月12日
  • wincc7.4 项目完整的转移

    现有两台电脑,软件相同,计算机名不同,登录用户名相同,在同一局域网内,如A电脑,B电脑。打算将A的WINCC项目完整的复制到B电脑上,包括报警记录,变量记录等等这些数据都复制过去,…

    SIMATIC WinCC 2021年7月5日
  • WinCC画面动态属性编辑

    要在画面中改变指示灯颜色,编辑其动态属性,填入二进制变量,总出现错误,点击“详细资料”,是表达式错误,但在另一台计算机上编辑,无此现象。怀疑Wincc软件问题,重装WinCC后,问…

    SIMATIC WinCC 2018年12月7日
  • wincc服务器客户端模式,客户端不能打开服务器项目

    WINCC服务器添加了客户端的计算机名,两台计算机网络里也能互相找到彼此,也能互相PING通,WINCC用户管理器里添加了客户端计算机名的用户,创建服务器数据成功,客户端就是打不开…

    2021年7月5日
  • wincc 7.5安装包

    wincc 7.5安装包以及安装文档 最佳答案 Wincc7.4SP1安装视频http://www.ad.siemens.com.cn/service/elearning…

    2021年7月5日
  • wincc 如何读入excel的数据

    wincc通过什么方式可以依次顺序读入excel列的数据,要是写入有什么办法 最佳答案 详细信息参见下列资料——《如何导出和重新导入WinCC 运行时数据》:http:/…

    SIMATIC WinCC 2019年6月11日
  • WINCC 激活时进程问题

    做了一个项目,在激活WINCC运行时,报警记录进行到一半时,进程保持在50%不再动,请问这是怎么回事?使用另外几个例子程序也出现同样情况,WINCC用 V6.2&nbsp…

    SIMATIC WinCC 2019年6月11日
  • 急盼帮助!!!

    硬件配置是:一台PC(Wincc V6.2.2)与3台s7 200通过以太网通讯。在pc上用pc access 1.0 sp5建立…

    SIMATIC WinCC 2017年6月24日
  • 请问如何使WINCC的变量归档保存在EXCEL里

    请问如何使WINCC的变量归档保存在EXCEL里,具体要怎么做啊 问题补充:在哪里导出,那用什么软件访问数据库 最佳答案 为什么要保存在EXCEL中呢?是用来做报表吗? …

    SIMATIC WinCC 2019年6月11日